ESyS-Particle  2.3.4
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< StufferTraitsStuffedParticleIterator
 

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

◆ Inherited

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef TmplCubicBoxPackerWrap<TmplParticleGenerator>::CubicBoxPackerBase esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::Inherited

◆ NTable

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::NTable esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::NTable

◆ NTablePtr

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::NTablePtr esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::NTablePtr

◆ Particle

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::Particle esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::Particle

◆ ParticleGenerator

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::ParticleGenerator esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticleGenerator

◆ ParticleGeneratorPtr

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::ParticleGeneratorPtr esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticleGeneratorPtr

◆ ParticlePool

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::ParticlePool esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticlePool

◆ ParticlePoolPtr

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef Inherited::ParticlePoolPtr esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticlePoolPtr

◆ ParticleVector

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef NTable::ParticleVector esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::ParticleVector

◆ StuffedParticleIterator

template<typename TmplParticleGenerator , template< typename TmplPartGen > class TmplCubicBoxPackerWrap>
typedef SphereFittedPIterator<StufferTraits> esys::lsm::RandomSpherePacker< TmplParticleGenerator, TmplCubicBoxPackerWrap >::StuffedParticleIterator

Constructor & Destructor Documentation

◆ RandomSpherePacker()

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 
)

◆ ~RandomSpherePacker()

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::~RandomSpherePacker
virtual

Member Function Documentation

◆ generate()

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:

◆ generateCubicPackingInSphere()

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:

◆ generateRandomFill()

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
void esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::generateRandomFill

◆ getBSphere()

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
const BoundingSphere & esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getBSphere

◆ getClosestNeighbours()

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
RandomSpherePacker< TPartGen, TCubicPackWrap >::ParticleVector esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getClosestNeighbours ( const Particle particle,
int  numClosest 
)

◆ getMaxInsertionFailures()

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
int esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getMaxInsertionFailures

◆ getRandom()

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
double esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getRandom ( double  min,
double  max 
) const

◆ getRandomPoint()

template<typename TPartGen , template< typename TTPartGen > class TCubicPackWrap>
Vec3 esys::lsm::RandomSpherePacker< TPartGen, TCubicPackWrap >::getRandomPoint

References getBBox().

Here is the call graph for this function:

◆ particleFitsInBSphere()

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

◆ particleFitsInBSphereWithNeighbours()

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

◆ particleIsValid()

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

Member Data Documentation

◆ m_bSphere

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

◆ m_maxInsertionFailures

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: