ESyS-Particle  2.3.4
esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase > Class Template Reference

#include <CubicBoxPacker.h>

Inheritance diagram for esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >:
Collaboration diagram for esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >:

Public Types

typedef TmplParticleGenerator ParticleGenerator
 
typedef boost::shared_ptr< ParticleGeneratorParticleGeneratorPtr
 
typedef TmplBoxPackerBase Inherited
 
typedef Inherited BoxPackerBase
 
typedef Inherited::Particle Particle
 
typedef Inherited::NTable NTable
 
typedef Inherited::NTablePtr NTablePtr
 
typedef Inherited::ParticlePool ParticlePool
 
typedef Inherited::ParticlePoolPtr ParticlePoolPtr
 

Public Member Functions

 CubicBoxPacker (ParticleGeneratorPtr particleGeneratorPtr, ParticlePoolPtr particlePoolPtr, NTablePtr nTablePtr, const BoundingBox &bBox, const BoolVector &periodicDimensions, double tolerance, double cubicPackRadius)
 
virtual ~CubicBoxPacker ()
 
Particle getCandidateParticle (const Vec3 &point)
 
Particle getCandidateParticle (const Vec3 &point, double radius)
 
double getCubicPackingRadius () const
 
const ParticleGeneratorgetParticleGenerator () const
 
ParticleGeneratorgetParticleGenerator ()
 
void setParticleGenerator (ParticleGenerator &particleGenerator)
 
void setParticleGenerator (ParticleGeneratorPtr particleGenerator)
 
void generateCubicPacking ()
 
virtual void generate ()
 

Private Attributes

double m_cubicPackRadius
 
ParticleGeneratorPtr m_particleGeneratorPtr
 
ParticleGeneratorm_pParticleGenerator
 

Member Typedef Documentation

◆ BoxPackerBase

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef Inherited esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::BoxPackerBase

◆ Inherited

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef TmplBoxPackerBase esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::Inherited

◆ NTable

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef Inherited::NTable esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::NTable

◆ NTablePtr

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef Inherited::NTablePtr esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::NTablePtr

◆ Particle

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef Inherited::Particle esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::Particle

◆ ParticleGenerator

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef TmplParticleGenerator esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::ParticleGenerator

◆ ParticleGeneratorPtr

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef boost::shared_ptr<ParticleGenerator> esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::ParticleGeneratorPtr

◆ ParticlePool

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef Inherited::ParticlePool esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::ParticlePool

◆ ParticlePoolPtr

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
typedef Inherited::ParticlePoolPtr esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::ParticlePoolPtr

Constructor & Destructor Documentation

◆ CubicBoxPacker()

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::CubicBoxPacker ( ParticleGeneratorPtr  particleGeneratorPtr,
ParticlePoolPtr  particlePoolPtr,
NTablePtr  nTablePtr,
const BoundingBox bBox,
const BoolVector periodicDimensions,
double  tolerance,
double  cubicPackRadius 
)

◆ ~CubicBoxPacker()

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::~CubicBoxPacker
virtual

Member Function Documentation

◆ generate()

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
void esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::generate
virtual

Referenced by esys::lsm::exportPacker().

Here is the caller graph for this function:

◆ generateCubicPacking()

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
void esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::generateCubicPacking

References getBBox(), esys::lsm::GridIterator::hasNext(), and esys::lsm::GridIterator::next().

Here is the call graph for this function:

◆ getCandidateParticle() [1/2]

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::Particle esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::getCandidateParticle ( const Vec3 point)

◆ getCandidateParticle() [2/2]

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::Particle esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::getCandidateParticle ( const Vec3 point,
double  radius 
)

◆ getCubicPackingRadius()

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
double esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::getCubicPackingRadius

◆ getParticleGenerator() [1/2]

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::ParticleGenerator & esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::getParticleGenerator

◆ getParticleGenerator() [2/2]

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
const CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::ParticleGenerator & esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::getParticleGenerator

◆ setParticleGenerator() [1/2]

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
void esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::setParticleGenerator ( ParticleGenerator particleGenerator)

◆ setParticleGenerator() [2/2]

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
void esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::setParticleGenerator ( ParticleGeneratorPtr  particleGenerator)

Member Data Documentation

◆ m_cubicPackRadius

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
double esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::m_cubicPackRadius
private

◆ m_particleGeneratorPtr

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
ParticleGeneratorPtr esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::m_particleGeneratorPtr
private

◆ m_pParticleGenerator

template<typename TmplParticleGenerator , typename TmplBoxPackerBase >
ParticleGenerator* esys::lsm::CubicBoxPacker< TmplParticleGenerator, TmplBoxPackerBase >::m_pParticleGenerator
private

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