Go to the documentation of this file.
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;
53 (c1.first == c2.first)
56 (c1.second < c2.second)
63 return (*
this)(*c1, *c2);
97 template<
typename TmplSphereIterator>
int Id
Definition: SphereNeighbours.h:38
boost::object_pool< IdPair > IdPairPool
Definition: SphereNeighbours.h:136
IdPairVector::value_type IdPair
Definition: SphereNeighbours.h:41
Definition: VectorPy.h:26
~SphereNeighbours()
Definition: SphereNeighbours.hpp:59
reference next()
Definition: StlIterator.h:112
Iterator getIterator() const
Definition: SphereNeighbours.h:124
boost::shared_ptr< IdPairPool > IdPairPoolPtr
Definition: SphereNeighbours.h:137
BoundingBox getSphereBBox() const
Definition: SphereNeighbours.hpp:271
boost::shared_ptr< NTable > NTablePtr
Definition: SphereNeighbours.h:135
void insert(Sphere &p)
Definition: SphereNeighbours.hpp:240
CircularNeighbourTable< Sphere > NTable
Definition: SphereNeighbours.h:70
Definition: SphereNeighbours.h:44
ConstIterator Iterator
Definition: SphereNeighbours.h:122
ForwardConstIterator< IdPairSet > IdPairConstIterator
Definition: SphereNeighbours.h:100
const IdPair & createIdPair(const Sphere &p1, const Sphere &p2)
Definition: SphereNeighbours.hpp:96
std::vector< Sphere * > SphereVector
Definition: SphereNeighbours.h:69
NTable::ParticleIterator SphereIterator
Definition: SphereNeighbours.h:71
NTable::ParticleConstIterator SphereConstIterator
Definition: SphereNeighbours.h:72
double m_maxDist
Definition: SphereNeighbours.h:144
TmplIteratable::value_type value_type
Definition: StlIterator.h:78
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
3D bounding box
Definition: BoundingBox.h:28
Definition: CheckPointable.cpp:17
bool operator()(const IdPair &c1, const IdPair &c2) const
Definition: SphereNeighbours.h:46
double m_maxRadius
Definition: SphereNeighbours.h:143
bool operator()(const IdPair *c1, const IdPair *c2) const
Definition: SphereNeighbours.h:61
double getMinRadius() const
Definition: SphereNeighbours.hpp:76
Vec3 m_maxPt
Definition: SphereNeighbours.h:146
Definition: SphereNeighbours.h:103
TmplIdPairVector IdPairVector
Definition: SphereNeighbours.h:40
value_type next()
Definition: SphereNeighbours.h:112
SphereConstIterator getSphereIterator() const
Definition: SphereNeighbours.hpp:89
double m_minRadius
Definition: SphereNeighbours.h:142
Definition: StlIterator.h:30
NTable::BoolVector BoolVector
Definition: SphereNeighbours.h:75
Definition: StlIterator.h:76
std::vector< bool > BoolVector
Definition: CircularNeighbourTable.h:42
const IdPair & reference
Definition: SphereNeighbours.h:106
IdPairPoolPtr m_connectionPoolPtr
Definition: SphereNeighbours.h:139
int getNumIdPairs() const
Definition: SphereNeighbours.hpp:70
reference current() const
Definition: StlIterator.h:105
std::set< const IdPair *, Cmp > ConstIdPairSet
Definition: SphereNeighbours.h:68
std::set< IdPair *, Cmp > IdPairSet
Definition: SphereNeighbours.h:67
NTablePtr m_nTablePtr
Definition: SphereNeighbours.h:141
value_type current() const
Definition: SphereNeighbours.h:117
IdPairSet m_connectionSet
Definition: SphereNeighbours.h:140
ConstIterator(const IdPairSet &set)
Definition: SphereNeighbours.h:107
int getNumSpheres() const
Definition: SphereNeighbours.hpp:64
Definition: SphereNeighbours.h:36
Vec3 m_minPt
Definition: SphereNeighbours.h:145
IdPairVector getNeighbours(TmplSphereIterator it)
Definition: SphereNeighbours.hpp:137
const IdPair & value_type
Definition: SphereNeighbours.h:105
double getMaxRadius() const
Definition: SphereNeighbours.hpp:82
Definition: CircularNeighbourTable.h:34
TmplSphere Sphere
Definition: SphereNeighbours.h:39