IMP
2.4.0
The Integrative Modeling Platform
IMP Mainpage
Modules
Classes
Examples
include
IMP
core
QuadraticClosePairsFinder.h
Go to the documentation of this file.
1
/**
2
* \file IMP/core/QuadraticClosePairsFinder.h
3
* \brief Test all pairs of particles to find close pairs.
4
*
5
* Copyright 2007-2015 IMP Inventors. All rights reserved.
6
*/
7
8
#ifndef IMPCORE_QUADRATIC_CLOSE_PAIRS_FINDER_H
9
#define IMPCORE_QUADRATIC_CLOSE_PAIRS_FINDER_H
10
11
#include "
ClosePairsFinder.h
"
12
#include <IMP/core/core_config.h>
13
14
IMPCORE_BEGIN_NAMESPACE
15
16
//! Find all nearby pairs by testing all pairs
17
/** \see ClosePairsScoreState
18
*/
19
class
IMPCOREEXPORT
QuadraticClosePairsFinder
:
public
ClosePairsFinder
{
20
public
:
21
QuadraticClosePairsFinder
();
22
bool
get_are_close(
kernel::Particle
*a,
kernel::Particle
*b)
const
{
23
return
get_are_close(a->get_model(), a->
get_index
(), b->
get_index
());
24
}
25
bool
get_are_close(
kernel::Model
*m,
kernel::ParticleIndex
a,
26
kernel::ParticleIndex
b)
const
;
27
#ifndef SWIG
28
using
ClosePairsFinder::get_close_pairs
;
29
#else
30
kernel::ParticlePairsTemp
get_close_pairs
(
const
kernel::ParticlesTemp
&pc)
31
const
;
32
kernel::ParticlePairsTemp
get_close_pairs
(
33
const
kernel::ParticlesTemp
&pca,
const
kernel::ParticlesTemp
&pcb)
const
;
34
#endif
35
virtual
IntPairs
get_close_pairs
(
const
algebra::BoundingBox3Ds
&bbs)
const
36
IMP_OVERRIDE
;
37
virtual
IntPairs
get_close_pairs
(
const
algebra::BoundingBox3Ds
&bas,
38
const
algebra::BoundingBox3Ds
&bbs)
const
39
IMP_OVERRIDE
;
40
virtual
kernel::ParticleIndexPairs
get_close_pairs
(
41
kernel::Model
*m,
const
kernel::ParticleIndexes
&pc)
const
IMP_OVERRIDE
;
42
virtual
kernel::ParticleIndexPairs
get_close_pairs
(
43
kernel::Model
*m,
const
kernel::ParticleIndexes
&pca,
44
const
kernel::ParticleIndexes
&pcb)
const
IMP_OVERRIDE
;
45
virtual
kernel::ModelObjectsTemp
do_get_inputs
(
46
kernel::Model
*m,
const
kernel::ParticleIndexes
&pis)
const
IMP_OVERRIDE
;
47
48
IMP_OBJECT_METHODS
(
QuadraticClosePairsFinder
);
49
};
50
51
IMPCORE_END_NAMESPACE
52
53
#endif
/* IMPCORE_QUADRATIC_CLOSE_PAIRS_FINDER_H */
IMP::core::ClosePairsFinder
A base class for algorithms to find spatial proximities.
Definition:
ClosePairsFinder.h:35
IMP::kernel::Particle::get_index
ParticleIndex get_index() const
returns the particle index of this particle in its model
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::base::Vector< ParticlePair >
IMP::kernel::ParticleInputs::do_get_inputs
virtual ModelObjectsTemp do_get_inputs(kernel::Model *m, const ParticleIndexes &pis) const
IMP::kernel::Particle
Class to handle individual model particles.
Definition:
kernel/Particle.h:37
IMP::base::Index< ParticleIndexTag >
IMP::core::ClosePairsFinder::get_close_pairs
kernel::ParticlePairsTemp get_close_pairs(const kernel::ParticlesTemp &pc) const
ClosePairsFinder.h
A base class for algorithms to detect proximities.
IMP::core::QuadraticClosePairsFinder
Find all nearby pairs by testing all pairs.
Definition:
QuadraticClosePairsFinder.h:19
IMP_OVERRIDE
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Definition:
compiler_macros.h:75
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:73