ESyS-Particle  2.3.4
esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector > Class Template Reference

#include <SphereNeighbours.h>

Inheritance diagram for esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >:
Collaboration diagram for esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >:

Classes

class  Cmp
 
class  ConstIterator
 

Public Types

typedef int Id
 
typedef TmplSphere Sphere
 
typedef TmplIdPairVector IdPairVector
 
typedef IdPairVector::value_type IdPair
 
typedef std::set< IdPair *, CmpIdPairSet
 
typedef std::set< const IdPair *, CmpConstIdPairSet
 
typedef std::vector< Sphere * > SphereVector
 
typedef CircularNeighbourTable< SphereNTable
 
typedef NTable::ParticleIterator SphereIterator
 
typedef NTable::ParticleConstIterator SphereConstIterator
 
typedef NTable::BoolVector BoolVector
 
typedef ForwardConstIterator< IdPairSetIdPairConstIterator
 
typedef ConstIterator Iterator
 

Public Member Functions

 SphereNeighbours (double maxDist, const BoundingBox &bBox=BoundingBox(Vec3(-10,-10,-10), Vec3(10, 10, 10)), const BoolVector &circDimensions=BoolVector(3, false))
 
 ~SphereNeighbours ()
 
int getNumSpheres () const
 
int getNumIdPairs () const
 
double getMinRadius () const
 
double getMaxRadius () const
 
SphereConstIterator getSphereIterator () const
 
BoundingBox getSphereBBox () const
 
template<typename TmplSphereIterator >
IdPairVector getNeighbours (TmplSphereIterator it)
 
Iterator getIterator () const
 

Protected Member Functions

void insert (Sphere &p)
 
const IdPaircreateIdPair (const Sphere &p1, const Sphere &p2)
 

Private Types

typedef boost::shared_ptr< NTableNTablePtr
 
typedef boost::object_pool< IdPairIdPairPool
 
typedef boost::shared_ptr< IdPairPoolIdPairPoolPtr
 

Private Attributes

IdPairPoolPtr m_connectionPoolPtr
 
IdPairSet m_connectionSet
 
NTablePtr m_nTablePtr
 
double m_minRadius
 
double m_maxRadius
 
double m_maxDist
 
Vec3 m_minPt
 
Vec3 m_maxPt
 

Member Typedef Documentation

◆ BoolVector

template<typename TmplSphere , typename TmplIdPairVector >
typedef NTable::BoolVector esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::BoolVector

◆ ConstIdPairSet

template<typename TmplSphere , typename TmplIdPairVector >
typedef std::set<const IdPair *,Cmp> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::ConstIdPairSet

◆ Id

template<typename TmplSphere , typename TmplIdPairVector >
typedef int esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::Id

◆ IdPair

template<typename TmplSphere , typename TmplIdPairVector >
typedef IdPairVector::value_type esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPair

◆ IdPairConstIterator

template<typename TmplSphere , typename TmplIdPairVector >
typedef ForwardConstIterator<IdPairSet> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairConstIterator

◆ IdPairPool

template<typename TmplSphere , typename TmplIdPairVector >
typedef boost::object_pool<IdPair> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairPool
private

◆ IdPairPoolPtr

template<typename TmplSphere , typename TmplIdPairVector >
typedef boost::shared_ptr<IdPairPool> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairPoolPtr
private

◆ IdPairSet

template<typename TmplSphere , typename TmplIdPairVector >
typedef std::set<IdPair *,Cmp> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairSet

◆ IdPairVector

template<typename TmplSphere , typename TmplIdPairVector >
typedef TmplIdPairVector esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairVector

◆ Iterator

template<typename TmplSphere , typename TmplIdPairVector >
typedef ConstIterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::Iterator

◆ NTable

template<typename TmplSphere , typename TmplIdPairVector >
typedef CircularNeighbourTable<Sphere> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::NTable

◆ NTablePtr

template<typename TmplSphere , typename TmplIdPairVector >
typedef boost::shared_ptr<NTable> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::NTablePtr
private

◆ Sphere

template<typename TmplSphere , typename TmplIdPairVector >
typedef TmplSphere esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::Sphere

◆ SphereConstIterator

template<typename TmplSphere , typename TmplIdPairVector >
typedef NTable::ParticleConstIterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::SphereConstIterator

◆ SphereIterator

template<typename TmplSphere , typename TmplIdPairVector >
typedef NTable::ParticleIterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::SphereIterator

◆ SphereVector

template<typename TmplSphere , typename TmplIdPairVector >
typedef std::vector<Sphere *> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::SphereVector

Constructor & Destructor Documentation

◆ SphereNeighbours()

template<typename TmplSphere , typename TmplIdPair >
esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::SphereNeighbours ( double  maxDist,
const BoundingBox bBox = BoundingBox(Vec3(-10,-10,-10), Vec3(10,10,10)),
const BoolVector circDimensions = BoolVector(3, false) 
)

◆ ~SphereNeighbours()

template<typename TmplSphere , typename TmplIdPair >
esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::~SphereNeighbours

Member Function Documentation

◆ createIdPair()

template<typename TmplSphere , typename TmplIdPair >
const SphereNeighbours< TmplSphere, TmplIdPair >::IdPair & esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::createIdPair ( const Sphere p1,
const Sphere p2 
)
protected

◆ getIterator()

template<typename TmplSphere , typename TmplIdPairVector >
Iterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::getIterator ( ) const
inline

◆ getMaxRadius()

template<typename TmplSphere , typename TmplIdPair >
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getMaxRadius

◆ getMinRadius()

template<typename TmplSphere , typename TmplIdPair >
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getMinRadius

◆ getNeighbours()

template<typename TmplSphere , typename TmplIdPair >
template<typename TmplSphereIterator >
SphereNeighbours< TmplSphere, TmplIdPair >::IdPairVector esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getNeighbours ( TmplSphereIterator  it)

◆ getNumIdPairs()

template<typename TmplSphere , typename TmplIdPair >
int esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getNumIdPairs

◆ getNumSpheres()

template<typename TmplSphere , typename TmplIdPair >
int esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getNumSpheres

◆ getSphereBBox()

template<typename TmplSphere , typename TmplIdPair >
BoundingBox esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getSphereBBox

◆ getSphereIterator()

template<typename TmplSphere , typename TmplIdPair >
SphereNeighbours< TmplSphere, TmplIdPair >::SphereConstIterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getSphereIterator

◆ insert()

template<typename TmplSphere , typename TmplIdPair >
void esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::insert ( Sphere p)
protected

Member Data Documentation

◆ m_connectionPoolPtr

template<typename TmplSphere , typename TmplIdPairVector >
IdPairPoolPtr esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_connectionPoolPtr
private

◆ m_connectionSet

template<typename TmplSphere , typename TmplIdPairVector >
IdPairSet esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_connectionSet
private

◆ m_maxDist

template<typename TmplSphere , typename TmplIdPairVector >
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_maxDist
private

◆ m_maxPt

template<typename TmplSphere , typename TmplIdPairVector >
Vec3 esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_maxPt
private

◆ m_maxRadius

template<typename TmplSphere , typename TmplIdPairVector >
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_maxRadius
private

◆ m_minPt

template<typename TmplSphere , typename TmplIdPairVector >
Vec3 esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_minPt
private

◆ m_minRadius

template<typename TmplSphere , typename TmplIdPairVector >
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_minRadius
private

◆ m_nTablePtr

template<typename TmplSphere , typename TmplIdPairVector >
NTablePtr esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_nTablePtr
private

The documentation for this class was generated from the following files: