IMP  2.2.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-2014 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"
13 
14 IMPCORE_BEGIN_NAMESPACE
15 
16 #if defined(IMP_DOXYGEN) || defined(IMP_CORE_USE_IMP_CGAL)
17 //! Find all nearby pairs by sweeping the bounding boxes
18 /** This method is much faster than the quadratic one when
19  there are are large sets of points.
20 
21  \requires{class BoxSweepClosePairsFinder, CGAL}
22  \see IMP::container::ClosePairsScoreState
23 */
24 class IMPCOREEXPORT BoxSweepClosePairsFinder : public ClosePairsFinder {
25  public:
27 
28 #ifndef SWIG
30 #else
32  const;
34  const kernel::ParticlesTemp &pca, const kernel::ParticlesTemp &pcb) const;
35 #endif
36  virtual IntPairs get_close_pairs(const algebra::BoundingBox3Ds &bbs) const
37  IMP_OVERRIDE;
39  const algebra::BoundingBox3Ds &bbs) const
40  IMP_OVERRIDE;
42  kernel::Model *m, const kernel::ParticleIndexes &pc) const IMP_OVERRIDE;
45  const kernel::ParticleIndexes &pcb) const IMP_OVERRIDE;
47  kernel::Model *m, const kernel::ParticleIndexes &pis) const IMP_OVERRIDE;
49 };
50 #endif /* IMP_USE_CGAL */
51 
52 IMPCORE_END_NAMESPACE
53 
54 #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
A base class for algorithms to detect proximities.
Class for storing model, its restraints, constraints, and particles.
Definition: kernel/Model.h:72