IMP
2.0.0
The Integrative Modeling Platform
|
Abstract class to implement hierarchical methods. More...
#include <IMP/kernel/Refiner.h>
Public Member Functions | |
Refiner (std::string name="Refiner %1%") | |
virtual bool | get_can_refine (Particle *) const |
Return true if this refiner can refine that particle. More... | |
ContainersTemp | get_input_containers (Particle *p) const |
ParticlesTemp | get_input_particles (Particle *p) const |
ModelObjectsTemp | get_inputs (Model *m, const ParticleIndexes &pis) const |
virtual unsigned int | get_number_of_refined (Particle *a) const =0 |
virtual const ParticlesTemp | get_refined (Particle *a) const =0 |
Refine the passed particle into a set of particles. More... | |
virtual Particle * | get_refined (Particle *a, unsigned int i) const =0 |
Get the ith refined particle. More... | |
Public Member Functions inherited from IMP::base::Object | |
virtual void | clear_caches () |
virtual IMP::base::VersionInfo | get_version_info () const =0 |
Get information about the module and version of the object. | |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Protected Member Functions | |
virtual ModelObjectsTemp | do_get_inputs (Model *m, const ParticleIndexes &pis) const =0 |
Protected Member Functions inherited from IMP::base::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
Related Functions | |
(Note that these are not member functions.) | |
typedef IMP::base::Vector < IMP::base::WeakPointer < Refiner > > | RefinersTemp |
Related Functions inherited from IMP::base::Object | |
typedef IMP::base::Vector < IMP::base::WeakPointer < Object > > | ObjectsTemp |
Iterating through the set of refined particles | |
Using iterators can be more efficient than using the bulk get_refined(), however it is not necessarily so. | |
typedef internal::IndexingIterator < Accessor > | RefinedIterator |
RefinedIterator | refined_begin (Particle *a) const |
RefinedIterator | refined_end (Particle *a) const |
The job of this class is to take a single particle and, if appropriate, return a list of particles. These lists can reflect existing relationships, such as the IMP::core::LeavesRefiner or arbitrary relationships set up for a particular purpose, such as IMP::core::TableRefiner.
Implementors should see IMP_REFINER().
Definition at line 34 of file kernel/Refiner.h.
|
protectedpure virtual |
Override if this reads other objects during evaluate.
|
virtual |
This should not throw, so be careful what fields are touched.
Reimplemented in IMP::core::TableRefiner, IMP::core::ChildrenRefiner, IMP::core::LeavesRefiner, IMP::core::FixedRefiner, and IMP::atom::BondEndpointsRefiner.
Definition at line 42 of file kernel/Refiner.h.
ContainersTemp IMP::kernel::Refiner::get_input_containers | ( | Particle * | p | ) | const |
Get the set of input containers when this modifier is applied to the arguments.
ParticlesTemp IMP::kernel::Refiner::get_input_particles | ( | Particle * | p | ) | const |
Get the set of particles read when applied to the arguments.
ModelObjectsTemp IMP::kernel::Refiner::get_inputs | ( | Model * | m, |
const ParticleIndexes & | pis | ||
) | const |
Get all the ModelObject objects that are read when the referenced particles are passed in.
|
pure virtual |
As a precondition can_refine_particle(a) should be true.
Implemented in IMP::core::TableRefiner, IMP::core::ChildrenRefiner, IMP::core::LeavesRefiner, IMP::core::FixedRefiner, and IMP::atom::BondEndpointsRefiner.
|
pure virtual |
As a precondition can_refine_particle(a) should be true.
Implemented in IMP::core::TableRefiner, IMP::core::ChildrenRefiner, IMP::core::LeavesRefiner, IMP::core::FixedRefiner, and IMP::atom::BondEndpointsRefiner.
|
pure virtual |
As a precondition can_refine_particle(a) should be true.
Implemented in IMP::core::TableRefiner, IMP::core::ChildrenRefiner, IMP::core::LeavesRefiner, IMP::core::FixedRefiner, and IMP::atom::BondEndpointsRefiner.
|
related |
Pass a set of objects.
Definition at line 73 of file kernel/Refiner.h.