IMP Reference Guide
develop.63b38c487d,2024/12/26
The Integrative Modeling Platform
|
Manipulate particles representing molecules at multiple levels. More...
Manipulate particles representing molecules at multiple levels.
Classes | |
class | IMP::atom::Atom |
A decorator for a particle representing an atom. More... | |
class | IMP::core::ChildrenRefiner |
Return the hierarchy children of a particle. More... | |
class | IMP::core::Hierarchy |
A decorator for helping deal with a generalized hierarchy. More... | |
struct | IMP::core::HierarchyCounter |
A simple functor to count the number of particles in a hierarchy. More... | |
class | IMP::core::HierarchyVisitor |
A visitor for traversal of a hierarchy. More... | |
class | IMP::core::LeavesRefiner |
Return the hierarchy leaves under a particle. More... | |
class | IMP::core::ModifierVisitor |
A visitor which applies a modifier to each Particle in a hierarchy. More... | |
class | IMP::atom::Residue |
A decorator for a residue. More... | |
Functions | |
template<class HD , class F > | |
HD | IMP::core::find_breadth_first (HD h, F f) |
Find the first node which matches some criteria. More... | |
template<class H , class Out , class F > | |
Out | IMP::core::gather (H h, F f, Out out) |
Gather all the particles in the hierarchy that meet some criteria. More... | |
template<class H , class Out , class K , class V > | |
Out | IMP::core::gather_by_attribute (H h, K k, V v, Out out) |
Gather all the particles in the hierarchy which match on an attribute. More... | |
template<class H , class Out , class K0 , class V0 , class K1 , class V1 > | |
Out | IMP::core::gather_by_attributes (H h, K0 k0, V0 v0, K1 k1, V1 v1, Out out) |
Gather all the particles in the hierarchy which match on two attributes. More... | |
template<class H , class Out , class F > | |
Out | IMP::core::gather_slice (H h, F f, Out out) |
Gather all the uppermost particles in the hierarchy that meet some criteria. More... | |
template<class ND > | |
std::ostream & | IMP::core::show (Hierarchy h, std::ostream &out=std::cout) |
Print the hierarchy using a given decorator to display each node. More... | |
template<class HD , class F > | |
F | IMP::core::visit_breadth_first (HD d, F f) |
Apply the visitor to each particle, breadth first. More... | |
template<class HD , class F > | |
F | IMP::core::visit_breadth_first_with_data (HD d, F f, typename F::result_type data) |
Apply functor F to each particle, traversing the hierarchy breadth first. More... | |
template<class HD , class F > | |
F | IMP::core::visit_depth_first (HD d, F &f) |
Apply functor F to each particle, traversing the hierarchy depth first. More... | |
template<class HD , class F > | |
F | IMP::core::visit_depth_first_with_data (HD d, F f, typename F::result_type data) |
Apply functor F to each particle, traversing the hierarchy depth first. More... | |
HD IMP::core::find_breadth_first | ( | HD | h, |
F | f | ||
) |
Find the first node which matches some criteria.
Definition at line 521 of file core/Hierarchy.h.
Out IMP::core::gather | ( | H | h, |
F | f, | ||
Out | out | ||
) |
Gather all the particles in the hierarchy that meet some criteria.
Gather all the particles in the hierarchy for which f() returns true and appends them to out
h | hierarchy root |
f | boolean function / functor that returns true on desired particles |
out | a output iterator for appending the result |
Definition at line 472 of file core/Hierarchy.h.
Out IMP::core::gather_by_attribute | ( | H | h, |
K | k, | ||
V | v, | ||
Out | out | ||
) |
Gather all the particles in the hierarchy which match on an attribute.
Definition at line 497 of file core/Hierarchy.h.
Out IMP::core::gather_by_attributes | ( | H | h, |
K0 | k0, | ||
V0 | v0, | ||
K1 | k1, | ||
V1 | v1, | ||
Out | out | ||
) |
Gather all the particles in the hierarchy which match on two attributes.
Definition at line 509 of file core/Hierarchy.h.
Out IMP::core::gather_slice | ( | H | h, |
F | f, | ||
Out | out | ||
) |
Gather all the uppermost particles in the hierarchy that meet some criteria.
Descent in the tree terminates when a node is gathered so that none of its children are explored.
Definition at line 486 of file core/Hierarchy.h.
std::ostream& IMP::core::show | ( | Hierarchy | h, |
std::ostream & | out = std::cout |
||
) |
Print the hierarchy using a given decorator to display each node.
Definition at line 423 of file core/Hierarchy.h.
F IMP::core::visit_breadth_first | ( | HD | d, |
F | f | ||
) |
Apply the visitor to each particle, breadth first.
[in] | d | The Hierarchy for the tree in question |
[in] | f | The visitor to be applied. This is passed by reference. A branch of the traversal stops when f returns false. |
Definition at line 311 of file core/Hierarchy.h.
F IMP::core::visit_breadth_first_with_data | ( | HD | d, |
F | f, | ||
typename F::result_type | data | ||
) |
Apply functor F to each particle, traversing the hierarchy breadth first.
This method allows data to be associated with each visited node. The data of the parent is passed to each invocation of the child.
[in] | d | The Hierarchy for the tree in question |
[in] | f | The functor to be applied F must define a type Data which is returned by each call. The result of the parent call is passed as the second argument to the operator() of the child. e.g. struct DepthVisitor { typedef int result_type; result_type operator()(Particle *p, int i) const { if (p==nullptr) return 0; else return i+1; } }; |
[in] | data | The data to be used for d (since it has no relevant parent) |
Definition at line 377 of file core/Hierarchy.h.
F IMP::core::visit_depth_first | ( | HD | d, |
F & | f | ||
) |
Apply functor F to each particle, traversing the hierarchy depth first.
See visit_breadth_first() for documentation.
Definition at line 334 of file core/Hierarchy.h.
F IMP::core::visit_depth_first_with_data | ( | HD | d, |
F | f, | ||
typename F::result_type | data | ||
) |
Apply functor F to each particle, traversing the hierarchy depth first.
See visit_breadth_first() for documentation.
Definition at line 401 of file core/Hierarchy.h.