IMP  2.2.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...
 
virtual unsigned int get_number_of_refined (Particle *a) const
 
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
 Get the ith refined particle. More...
 
virtual ParticleIndexes get_refined_indexes (Model *m, ParticleIndex pi) const
 
- Public Member Functions inherited from IMP::kernel::ParticleInputs
virtual ContainersTemp get_input_containers (Particle *p) const
 
virtual ParticlesTemp get_input_particles (Particle *p) const
 
ModelObjectsTemp get_inputs (kernel::Model *m, const ParticleIndexes &pis) const
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual void do_destroy ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
virtual VersionInfo get_version_info () const
 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)
 
virtual std::string get_type_name () const
 

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
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::kernel::ParticleInputs
virtual ModelObjectsTemp do_get_inputs (kernel::Model *m, const ParticleIndexes &pis) const
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 

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.

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

Member Function Documentation

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 38 of file kernel/Refiner.h.

virtual unsigned int IMP::kernel::Refiner::get_number_of_refined ( Particle a) const
virtual

As a precondition can_refine_particle(a) should be true.

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

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
virtual

As a precondition can_refine_particle(a) should be true.

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


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