Go to the documentation of this file.
14 #ifndef ESYS_LSMDISTCONNECTIONS_H
15 #define ESYS_LSMDISTCONNECTIONS_H
20 #include <boost/shared_ptr.hpp>
21 #include <boost/pool/object_pool.hpp>
34 template <
typename TmplParticle,
typename TmplConnection>
49 (c1.first() < c2.first())
52 (c1.first() == c2.first())
55 (c1.second() < c2.second())
58 (c1.second() == c2.second())
60 (c1.getTag() < c2.getTag())
68 return (*
this)(*c1, *c2);
102 template<
typename TmplParticleIterator>
103 void create(TmplParticleIterator it);
105 template<
typename TmplParticleIterator>
106 void create(TmplParticleIterator it,
Tag tag);
NTable::ParticleIterator ParticleIterator
Definition: DistConnections.h:75
CircularNeighbourTable< Particle > NTable
Definition: DistConnections.h:74
reference next()
Definition: StlIterator.h:112
void insert(Particle &p)
Definition: DistConnections.hpp:224
Vec3 m_minPt
Definition: DistConnections.h:156
value_type next()
Definition: DistConnections.h:123
ConnectionSet m_connectionSet
Definition: DistConnections.h:151
NTable::ParticleConstIterator ParticleConstIterator
Definition: DistConnections.h:76
int getNumParticles() const
Definition: DistConnections.hpp:65
bool operator()(const Connection &c1, const Connection &c2) const
Definition: DistConnections.h:45
double m_minRadius
Definition: DistConnections.h:153
double m_maxDist
Definition: DistConnections.h:155
ConstIterator(const ConnectionSet &set)
Definition: DistConnections.h:118
ConstIterator Iterator
Definition: DistConnections.h:133
NTable::BoolVector BoolVector
Definition: DistConnections.h:79
TmplIteratable::value_type value_type
Definition: StlIterator.h:78
value_type current() const
Definition: DistConnections.h:128
3D bounding box
Definition: BoundingBox.h:28
Definition: CheckPointable.cpp:17
int Tag
Definition: DistConnections.h:40
TmplParticle Particle
Definition: DistConnections.h:38
DistConnections(double maxDist, Tag defaultTag=0, const BoundingBox &bBox=BoundingBox(Vec3(-10,-10,-10), Vec3(10, 10, 10)), const BoolVector &circDimensions=BoolVector(3, false))
Definition: DistConnections.hpp:22
BoundingBox getParticleBBox() const
Definition: DistConnections.hpp:269
void createConnection(const Particle &p1, const Particle &p2, Tag tag)
Definition: DistConnections.hpp:97
Definition: DistConnections.h:36
std::vector< Particle * > ParticleVector
Definition: DistConnections.h:73
TmplConnection Connection
Definition: DistConnections.h:39
boost::object_pool< Connection > ConnectionPool
Definition: DistConnections.h:147
const Connection & reference
Definition: DistConnections.h:117
void setDefaultTag(Tag defaultTag)
Definition: DistConnections.hpp:262
Iterator getIterator() const
Definition: DistConnections.h:135
Tag getDefaultTag() const
Definition: DistConnections.hpp:255
boost::shared_ptr< NTable > NTablePtr
Definition: DistConnections.h:146
Definition: StlIterator.h:30
double getMinRadius() const
Definition: DistConnections.hpp:77
Definition: StlIterator.h:76
std::vector< bool > BoolVector
Definition: CircularNeighbourTable.h:42
Vec3 m_maxPt
Definition: DistConnections.h:157
const Connection & value_type
Definition: DistConnections.h:116
reference current() const
Definition: StlIterator.h:105
int getNumConnections() const
Definition: DistConnections.hpp:71
std::set< Connection *, Cmp > ConnectionSet
Definition: DistConnections.h:72
Definition: DistConnections.h:43
double m_maxRadius
Definition: DistConnections.h:154
void create(TmplParticleIterator it)
Definition: DistConnections.hpp:215
boost::shared_ptr< ConnectionPool > ConnectionPoolPtr
Definition: DistConnections.h:148
Definition: DistConnections.h:114
~DistConnections()
Definition: DistConnections.hpp:60
NTablePtr m_nTablePtr
Definition: DistConnections.h:152
ConnectionPoolPtr m_connectionPoolPtr
Definition: DistConnections.h:150
ForwardConstIterator< ConnectionSet > ConnectionConstIterator
Definition: DistConnections.h:111
bool operator()(const Connection *c1, const Connection *c2) const
Definition: DistConnections.h:66
ParticleConstIterator getParticleIterator() const
Definition: DistConnections.hpp:90
double getMaxRadius() const
Definition: DistConnections.hpp:83
Definition: CircularNeighbourTable.h:34
Tag m_defaultTag
Definition: DistConnections.h:158