ESyS-Particle  2.3
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
*, Cmp
ConstIdPairSet
 
typedef std::vector< Sphere * > SphereVector
 
typedef CircularNeighbourTable
< Sphere
NTable
 
typedef NTable::ParticleIterator SphereIterator
 
typedef
NTable::ParticleConstIterator 
SphereConstIterator
 
typedef NTable::BoolVector BoolVector
 
typedef ForwardConstIterator
< IdPairSet
IdPairConstIterator
 
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
< IdPair
IdPairPool
 
typedef boost::shared_ptr
< IdPairPool
IdPairPoolPtr
 

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

template<typename TmplSphere, typename TmplIdPairVector>
typedef NTable::BoolVector esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::BoolVector
template<typename TmplSphere, typename TmplIdPairVector>
typedef std::set<const IdPair *,Cmp> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::ConstIdPairSet
template<typename TmplSphere, typename TmplIdPairVector>
typedef int esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::Id
template<typename TmplSphere, typename TmplIdPairVector>
typedef IdPairVector::value_type esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPair
template<typename TmplSphere, typename TmplIdPairVector>
typedef ForwardConstIterator<IdPairSet> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairConstIterator
template<typename TmplSphere, typename TmplIdPairVector>
typedef boost::object_pool<IdPair> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairPool
private
template<typename TmplSphere, typename TmplIdPairVector>
typedef boost::shared_ptr<IdPairPool> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairPoolPtr
private
template<typename TmplSphere, typename TmplIdPairVector>
typedef std::set<IdPair *,Cmp> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairSet
template<typename TmplSphere, typename TmplIdPairVector>
typedef TmplIdPairVector esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::IdPairVector
template<typename TmplSphere, typename TmplIdPairVector>
typedef ConstIterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::Iterator
template<typename TmplSphere, typename TmplIdPairVector>
typedef CircularNeighbourTable<Sphere> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::NTable
template<typename TmplSphere, typename TmplIdPairVector>
typedef boost::shared_ptr<NTable> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::NTablePtr
private
template<typename TmplSphere, typename TmplIdPairVector>
typedef TmplSphere esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::Sphere
template<typename TmplSphere, typename TmplIdPairVector>
typedef NTable::ParticleConstIterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::SphereConstIterator
template<typename TmplSphere, typename TmplIdPairVector>
typedef NTable::ParticleIterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::SphereIterator
template<typename TmplSphere, typename TmplIdPairVector>
typedef std::vector<Sphere *> esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::SphereVector

Constructor & Destructor Documentation

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) 
)
template<typename TmplSphere , typename TmplIdPair >
esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::~SphereNeighbours ( )

Member Function Documentation

template<typename TmplSphere , typename TmplIdPair >
const SphereNeighbours< TmplSphere, TmplIdPair >::IdPair & esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::createIdPair ( const Sphere p1,
const Sphere p2 
)
protected
template<typename TmplSphere, typename TmplIdPairVector>
Iterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::getIterator ( ) const
inline
template<typename TmplSphere , typename TmplIdPair >
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getMaxRadius ( ) const
template<typename TmplSphere , typename TmplIdPair >
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getMinRadius ( ) const
template<typename TmplSphere , typename TmplIdPair >
template<typename TmplSphereIterator >
SphereNeighbours< TmplSphere, TmplIdPair >::IdPairVector esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getNeighbours ( TmplSphereIterator  it)
template<typename TmplSphere , typename TmplIdPair >
int esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getNumIdPairs ( ) const
template<typename TmplSphere , typename TmplIdPair >
int esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getNumSpheres ( ) const
template<typename TmplSphere , typename TmplIdPair >
BoundingBox esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getSphereBBox ( ) const
template<typename TmplSphere , typename TmplIdPair >
SphereNeighbours< TmplSphere, TmplIdPair >::SphereConstIterator esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::getSphereIterator ( ) const
template<typename TmplSphere , typename TmplIdPair >
void esys::lsm::SphereNeighbours< TmplSphere, TmplIdPair >::insert ( Sphere p)
protected

Member Data Documentation

template<typename TmplSphere, typename TmplIdPairVector>
IdPairPoolPtr esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_connectionPoolPtr
private
template<typename TmplSphere, typename TmplIdPairVector>
IdPairSet esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_connectionSet
private
template<typename TmplSphere, typename TmplIdPairVector>
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_maxDist
private
template<typename TmplSphere, typename TmplIdPairVector>
Vec3 esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_maxPt
private
template<typename TmplSphere, typename TmplIdPairVector>
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_maxRadius
private
template<typename TmplSphere, typename TmplIdPairVector>
Vec3 esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_minPt
private
template<typename TmplSphere, typename TmplIdPairVector>
double esys::lsm::SphereNeighbours< TmplSphere, TmplIdPairVector >::m_minRadius
private
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: