IMP  2.3.1
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-2014 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 
16 IMPCORE_BEGIN_NAMESPACE
17 
18 class HierarchyTraits;
19 
20 //! Return the hierarchy children of a particle.
21 /** \ingroup hierarchy
22  A simple example using is
23  \include cover_particles.py
24  \see Hierarchy
25  \see Hierarchy
26 */
27 class IMPCOREEXPORT ChildrenRefiner : public Refiner {
28 
29  HierarchyTraits traits_;
30 
31  public:
32  //! Create a refiner for a particular type of hierarchy
34 
35  virtual bool get_can_refine(kernel::Particle *) const IMP_OVERRIDE;
38 #ifndef SWIG
40 #endif
44 };
45 
46 IMPCORE_END_NAMESPACE
47 
48 #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.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
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.
Class to handle individual model particles.
Abstract class to implement hierarchical methods.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for storing model, its restraints, constraints, and particles.
Definition: kernel/Model.h:73