IMP  2.0.0
The Integrative Modeling Platform
IMP::kernel::Refiner Class Referenceabstract

Abstract class to implement hierarchical methods. More...

#include <IMP/kernel/Refiner.h>

+ Inheritance diagram for IMP::kernel::Refiner:

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 Particleget_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
 

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
 

Detailed Description

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.

Member Function Documentation

virtual ModelObjectsTemp IMP::kernel::Refiner::do_get_inputs ( Model m,
const ParticleIndexes pis 
) const
protectedpure virtual

Override if this reads other objects during evaluate.

virtual bool IMP::kernel::Refiner::get_can_refine ( Particle ) const
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.

Deprecated:
use get_outputs() instead.
ParticlesTemp IMP::kernel::Refiner::get_input_particles ( Particle p) const

Get the set of particles read when applied to the arguments.

Deprecated:
use get_inputs() instead.
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.

virtual unsigned int IMP::kernel::Refiner::get_number_of_refined ( Particle a) const
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.

virtual const ParticlesTemp IMP::kernel::Refiner::get_refined ( Particle a) const
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.

virtual Particle* IMP::kernel::Refiner::get_refined ( Particle a,
unsigned int  i 
) const
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.

Friends And Related Function Documentation

Pass a set of objects.

Definition at line 73 of file kernel/Refiner.h.


The documentation for this class was generated from the following file: