IMP  2.1.0
The Integrative Modeling Platform
ChildrenRefiner.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/ChildrenRefiner.h
3  * \brief Return the hierarchy children of a particle.
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPCORE_CHILDREN_REFINER_H
9 #define IMPCORE_CHILDREN_REFINER_H
10 
11 #include <IMP/core/core_config.h>
12 #include "Hierarchy.h"
13 
14 #include <IMP/Refiner.h>
15 #include <IMP/refiner_macros.h>
16 
17 IMPCORE_BEGIN_NAMESPACE
18 
19 class HierarchyTraits;
20 
21 //! Return the hierarchy children of a particle.
22 /** \ingroup hierarchy
23  A simple example using is
24  \include cover_particles.py
25  \see Hierarchy
26  \see Hierarchy
27 */
28 class IMPCOREEXPORT ChildrenRefiner : public Refiner {
29 
30  HierarchyTraits traits_;
31 
32  public:
33  //! Create a refiner for a particular type of hierarchy
35 
36  virtual bool get_can_refine(kernel::Particle *) const IMP_OVERRIDE;
38  IMP_OVERRIDE;
39 #ifndef SWIG
41 #endif
43  kernel::Model *m, const kernel::ParticleIndexes &pis) const IMP_OVERRIDE;
45 };
46 
47 IMPCORE_END_NAMESPACE
48 
49 #endif /* IMPCORE_CHILDREN_REFINER_H */
Return the hierarchy children of a particle.
Decorator for helping deal with a hierarchy.
virtual const ParticlesTemp get_refined(Particle *a) const =0
Refine the passed particle into a set of particles.
virtual bool get_can_refine(Particle *) const
Return true if this refiner can refine that particle.
Import IMP/kernel/Refiner.h in the namespace.
virtual ModelObjectsTemp do_get_inputs(kernel::Model *m, const ParticleIndexes &pis) const
Define the type for a type of hierarchy.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Class to handle individual model particles.
Import IMP/kernel/refiner_macros.h in the namespace.
Abstract class to implement hierarchical methods.
Class for storing model, its restraints, constraints, and particles.