IMP
2.2.0
The Integrative Modeling Platform
|
Peform more efficient close pair finding when rigid bodies are involved. More...
#include <IMP/core/RigidClosePairsFinder.h>
Public Member Functions | |
RigidClosePairsFinder (ClosePairsFinder *cpf=nullptr) | |
virtual kernel::ModelObjectsTemp | do_get_inputs (kernel::Model *m, const kernel::ParticleIndexes &pis) const |
kernel::ParticleIndexPairs | get_close_pairs (kernel::Model *m, kernel::ParticleIndex a, kernel::ParticleIndex b, const kernel::ParticleIndexes &pa, const kernel::ParticleIndexes &pb) const |
virtual IntPairs | get_close_pairs (const algebra::BoundingBox3Ds &bbs) const |
virtual IntPairs | get_close_pairs (const algebra::BoundingBox3Ds &bas, const algebra::BoundingBox3Ds &bbs) const |
virtual kernel::ParticleIndexPairs | get_close_pairs (kernel::Model *m, const kernel::ParticleIndexes &pc) const |
virtual kernel::ParticleIndexPairs | get_close_pairs (kernel::Model *m, const kernel::ParticleIndexes &pca, const kernel::ParticleIndexes &pcb) const |
virtual std::string | get_type_name () const |
virtual ::IMP::base::VersionInfo | get_version_info () const |
Get information about the module and version of the object. | |
void | set_distance (double d) |
Public Member Functions inherited from IMP::core::ClosePairsFinder | |
ClosePairsFinder (std::string name) | |
kernel::ParticlePairsTemp | get_close_pairs (const kernel::ParticlesTemp &pc) const |
kernel::ParticlePairsTemp | get_close_pairs (const kernel::ParticlesTemp &pca, const kernel::ParticlesTemp &pcb) const |
double | get_distance () const |
IMP_LIST (public, PairFilter, pair_filter, PairPredicate *, PairPredicates) | |
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 |
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) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::base::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
The class finds all close pairs consisting of particles taken from the passed list(s) (if they are not rigid bodies) or members of rigid bodies passed as input. That is, given an input list l
, for each pair of particles p
, q
taken from the list, that are closer than the distance threshold, it returns
p
or q
are RigidBody particles it returns (p
,q
)p
and q
are RigidBody particles, it returns all
(r
,s
) where r
is a member of p
and s
is member of q
and r
and s
are closer than the distance threshold
(p
,s
) or
(r
,q
) as appropriate if only one of p
or q
is a rigid body.Consequently, the user must ensure that the RigidBody are assigned a radius that encloses all of their RigidMember particles.
It uses another ClosePairsFinder to find which pairs of particles in the input list or lists are close. Your choice of this can be passed to the constructor.
The class RigidClosePairsFinder uses CGAL in order to improve its functionality. It will fall back on less good code without it.
Definition at line 60 of file RigidClosePairsFinder.h.
|
virtual |
Overload this method to specify the inputs.
Reimplemented from IMP::kernel::ParticleInputs.