IMP  2.1.0
The Integrative Modeling Platform
BoxSweepClosePairsFinder.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/BoxSweepClosePairsFinder.h
3  * \brief Test all pairs of particles to find close pairs.
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPCORE_BOX_SWEEP_CLOSE_PAIRS_FINDER_H
9 #define IMPCORE_BOX_SWEEP_CLOSE_PAIRS_FINDER_H
10 
11 #include <IMP/core/core_config.h>
12 #include "ClosePairsFinder.h"
14 
15 IMPCORE_BEGIN_NAMESPACE
16 
17 #if defined(IMP_DOXYGEN) || defined(IMP_CORE_USE_IMP_CGAL)
18 //! Find all nearby pairs by sweeping the bounding boxes
19 /** This method is much faster than the quadratic one when
20  there are are large sets of points.
21 
22  \requires{class BoxSweepClosePairsFinder, CGAL}
23  \see IMP::container::ClosePairsScoreState
24 */
25 class IMPCOREEXPORT BoxSweepClosePairsFinder : public ClosePairsFinder {
26  public:
28 
29 #ifndef SWIG
31 #else
33  const kernel::ParticlesTemp &pc) const;
35  const kernel::ParticlesTemp &pca, const kernel::ParticlesTemp &pcb) const;
36 #endif
37  virtual IntPairs get_close_pairs(const algebra::BoundingBox3Ds &bbs) const
38  IMP_OVERRIDE;
40  const algebra::BoundingBox3Ds &bbs) const
41  IMP_OVERRIDE;
43  kernel::Model *m, const kernel::ParticleIndexes &pc) const IMP_OVERRIDE;
46  const kernel::ParticleIndexes &pcb) const IMP_OVERRIDE;
48  kernel::Model *m, const kernel::ParticleIndexes &pis) const IMP_OVERRIDE;
50 };
51 #endif /* IMP_USE_CGAL */
52 
53 IMPCORE_END_NAMESPACE
54 
55 #endif /* IMPCORE_BOX_SWEEP_CLOSE_PAIRS_FINDER_H */
A base class for algorithms to find spatial proximities.
Find all nearby pairs by sweeping the bounding boxes.
virtual ModelObjectsTemp do_get_inputs(kernel::Model *m, const ParticleIndexes &pis) const
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
kernel::ParticlePairsTemp get_close_pairs(const kernel::ParticlesTemp &pc) const
Various important macros for implementing decorators.
A base class for algorithms to detect proximities.
Class for storing model, its restraints, constraints, and particles.