14 #ifndef ESYS_LSMSPHERENEIGHBOURS_H
15 #define ESYS_LSMSPHERENEIGHBOURS_H
20 #include <boost/shared_ptr.hpp>
21 #include <boost/pool/object_pool.hpp>
34 template <
typename TmplSphere,
typename TmplIdPairVector>
41 typedef typename IdPairVector::value_type
IdPair;
46 bool operator()(
const IdPair &c1,
const IdPair &c2)
const
53 (c1.first == c2.first)
56 (c1.second < c2.second)
61 bool operator()(
const IdPair *c1,
const IdPair *c2)
const
63 return (*
this)(*c1, *c2);
80 const BoolVector &circDimensions =
BoolVector(3,
false)
97 template<
typename TmplSphereIterator>
108 : IdPairConstIterator(set)
132 const IdPair &
createIdPair(
const Sphere &p1,
const Sphere &p2);
int Id
Definition: SphereNeighbours.h:38
Vec3 m_maxPt
Definition: SphereNeighbours.h:146
Definition: StlIterator.h:26
reference next()
Definition: StlIterator.h:112
NTable::BoolVector BoolVector
Definition: SphereNeighbours.h:75
Definition: SphereNeighbours.h:43
const IdPair & value_type
Definition: SphereNeighbours.h:105
std::set< IdPair *, Cmp > IdPairSet
Definition: SphereNeighbours.h:67
IdPairSet m_connectionSet
Definition: SphereNeighbours.h:140
double m_minRadius
Definition: SphereNeighbours.h:142
~SphereNeighbours()
Definition: SphereNeighbours.hpp:59
IdPairPoolPtr m_connectionPoolPtr
Definition: SphereNeighbours.h:139
const IdPair & createIdPair(const Sphere &p1, const Sphere &p2)
Definition: SphereNeighbours.hpp:96
boost::shared_ptr< IdPairPool > IdPairPoolPtr
Definition: SphereNeighbours.h:137
TmplSphere Sphere
Definition: SphereNeighbours.h:39
CircularNeighbourTable< Sphere > NTable
Definition: SphereNeighbours.h:70
int getNumSpheres() const
Definition: SphereNeighbours.hpp:64
Definition: CheckPointable.cpp:16
double getMaxRadius() const
Definition: SphereNeighbours.hpp:82
Vec3 m_minPt
Definition: SphereNeighbours.h:145
SphereConstIterator getSphereIterator() const
Definition: SphereNeighbours.hpp:89
value_type next()
Definition: SphereNeighbours.h:112
std::vector< Sphere * > SphereVector
Definition: SphereNeighbours.h:69
int getNumIdPairs() const
Definition: SphereNeighbours.hpp:70
3D bounding box
Definition: BoundingBox.h:27
double m_maxDist
Definition: SphereNeighbours.h:144
Definition: SphereNeighbours.h:102
Definition: SphereNeighbours.h:35
NTable::ParticleIterator SphereIterator
Definition: SphereNeighbours.h:71
reference current() const
Definition: StlIterator.h:105
NTable::ParticleConstIterator SphereConstIterator
Definition: SphereNeighbours.h:72
TmplIdPairVector IdPairVector
Definition: SphereNeighbours.h:40
ConstIterator(const IdPairSet &set)
Definition: SphereNeighbours.h:107
value_type current() const
Definition: SphereNeighbours.h:117
std::vector< bool > BoolVector
Definition: CircularNeighbourTable.h:42
BoundingBox getSphereBBox() const
Definition: SphereNeighbours.hpp:271
void insert(Sphere &p)
Definition: SphereNeighbours.hpp:240
Definition: StlIterator.h:29
std::set< const IdPair *, Cmp > ConstIdPairSet
Definition: SphereNeighbours.h:68
Definition: CircularNeighbourTable.h:33
ConstIterator Iterator
Definition: SphereNeighbours.h:122
bool operator()(const IdPair *c1, const IdPair *c2) const
Definition: SphereNeighbours.h:61
double m_maxRadius
Definition: SphereNeighbours.h:143
IdPairVector::value_type IdPair
Definition: SphereNeighbours.h:41
const IdPair & reference
Definition: SphereNeighbours.h:106
ForwardConstIterator< IdPairSet > IdPairConstIterator
Definition: SphereNeighbours.h:100
boost::object_pool< IdPair > IdPairPool
Definition: SphereNeighbours.h:136
Iterator getIterator() const
Definition: SphereNeighbours.h:124
NTablePtr m_nTablePtr
Definition: SphereNeighbours.h:141
double getMinRadius() const
Definition: SphereNeighbours.hpp:76
boost::shared_ptr< NTable > NTablePtr
Definition: SphereNeighbours.h:135
SphereNeighbours(double maxDist, const BoundingBox &bBox=BoundingBox(Vec3(-10,-10,-10), Vec3(10, 10, 10)), const BoolVector &circDimensions=BoolVector(3, false))
Definition: SphereNeighbours.hpp:23
IdPairVector getNeighbours(TmplSphereIterator it)
Definition: SphereNeighbours.hpp:137
bool operator()(const IdPair &c1, const IdPair &c2) const
Definition: SphereNeighbours.h:46