ESyS-Particle  2.3.2
esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap > Class Template Reference

#include <RandomSpherePacker.h>

Inheritance diagram for esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >:
Collaboration diagram for esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >:

Classes

class  StufferTraits

Public Types

typedef TmplCubicBoxPackerWrap
< TmplParticleGenerator >
::CubicBoxPackerBase 
Inherited
typedef
Inherited::ParticleGenerator 
ParticleGenerator
typedef
Inherited::ParticleGeneratorPtr 
ParticleGeneratorPtr
typedef Inherited::Particle Particle
typedef Inherited::NTable NTable
typedef Inherited::NTablePtr NTablePtr
typedef NTable::ParticleVector ParticleVector
typedef Inherited::ParticlePool ParticlePool
typedef Inherited::ParticlePoolPtr ParticlePoolPtr
typedef SphereFittedPIterator
< StufferTraits
StuffedParticleIterator

Public Member Functions

 RandomSpherePacker (ParticleGeneratorPtr particleGeneratorPtr, ParticlePoolPtr particlePoolPtr, NTablePtr nTablePtr, const BoundingSphere &bSphere, double tolerance, double cubicPackRadius, int maxInsertionFailures, bool do2d)
virtual ~RandomSpherePacker ()
const BoundingSpheregetBSphere () const
bool particleIsValid (const Particle &particle) const
double getRandom (double min, double max) const
Vec3 getRandomPoint () const
ParticleVector getClosestNeighbours (const Particle &particle, int numClosest)
int getMaxInsertionFailures () const
bool particleFitsInBSphere (const Particle &particle) const
bool particleFitsInBSphereWithNeighbours (const Particle &particle) const
void generateCubicPackingInSphere ()
void generateRandomFill ()
virtual void generate ()

Private Attributes

BoundingSphere m_bSphere
int m_maxInsertionFailures

Member Typedef Documentation

template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef TmplCubicBoxPackerWrap<TmplParticleGenerator>::CubicBoxPackerBase esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::Inherited
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::NTable esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::NTable
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::NTablePtr esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::NTablePtr
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::Particle esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::Particle
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::ParticleGenerator esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticleGenerator
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::ParticleGeneratorPtr esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticleGeneratorPtr
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::ParticlePool esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticlePool
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::ParticlePoolPtr esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticlePoolPtr
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef NTable::ParticleVector esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticleVector
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef SphereFittedPIterator<StufferTraits> esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::StuffedParticleIterator

Constructor & Destructor Documentation

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::RandomSpherePacker ( ParticleGeneratorPtr  particleGeneratorPtr,
ParticlePoolPtr  particlePoolPtr,
NTablePtr  nTablePtr,
const BoundingSphere bSphere,
double  tolerance,
double  cubicPackRadius,
int  maxInsertionFailures,
bool  do2d 
)
template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::~RandomSpherePacker ( )
virtual

Member Function Documentation

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
void esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::generate ( )
virtual

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

Here is the caller graph for this function:

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
void esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::generateCubicPackingInSphere ( )

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

Here is the call graph for this function:

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
void esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::generateRandomFill ( )
template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
const BoundingSphere & esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getBSphere ( ) const
template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
RandomSpherePacker< TPartGen, TCubicPackWrap >::ParticleVector esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getClosestNeighbours ( const Particle particle,
int  numClosest 
)
template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
int esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getMaxInsertionFailures ( ) const
template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
double esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getRandom ( double  min,
double  max 
) const
template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
Vec3 esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getRandomPoint ( ) const

References getBBox().

Here is the call graph for this function:

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
bool esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::particleFitsInBSphere ( const Particle particle) const
template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
bool esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::particleFitsInBSphereWithNeighbours ( const Particle particle) const
template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
bool esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::particleIsValid ( const Particle particle) const

Member Data Documentation

template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
BoundingSphere esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::m_bSphere
private
template<typename TmplParticleGenerator, template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
int esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::m_maxInsertionFailures
private

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