ESyS-Particle  2.3.4
esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap > Class Template Reference

#include <GrainRandomBoxPacker.h>

Inheritance diagram for esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >:
Collaboration diagram for esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >:

Public Types

typedef TmplGrainCollection GrainCollection
 
typedef boost::shared_ptr< GrainCollectionGrainCollectionPtr
 
typedef GrainCollection::GrainIterator GrainIterator
 
typedef GrainCollection::GrainConstIterator GrainConstIterator
 
typedef GrainCollection::Grain Grain
 
typedef Grain::Id GrainId
 
typedef GrainCollection::GrainPool GrainPool
 
typedef GrainCollection::GrainPoolPtr GrainPoolPtr
 
typedef TmplRndBoxPackerWrap< TmplParticleGrainGen >::RandomBoxPackerBase Inherited
 
typedef Inherited RandomBoxPackerBase
 
typedef Inherited::ParticleGenerator ParticleGrainGen
 
typedef Inherited::ParticleGeneratorPtr ParticleGrainGenPtr
 
typedef Inherited::Particle Particle
 
typedef Inherited::NTable NTable
 
typedef Inherited::NTablePtr NTablePtr
 
typedef Inherited::ParticleVector ParticleVector
 
typedef Inherited::ParticlePool ParticlePool
 
typedef Inherited::ParticlePoolPtr ParticlePoolPtr
 
typedef Inherited::PlaneVector PlaneVector
 
typedef Inherited::StuffedParticleIterator StuffedParticleIterator
 

Public Member Functions

 GrainRandomBoxPacker (ParticleGrainGenPtr particleGrainGenPtr, ParticlePoolPtr particlePoolPtr, NTablePtr nTablePtr, const BoundingBox &bBox, const BoolVector &periodicDimensions, double tolerance, double cubicPackRadius, int maxInsertionFailures)
 
 GrainRandomBoxPacker (ParticleGrainGenPtr particleGrainGenPtr, ParticlePoolPtr particlePoolPtr, NTablePtr nTablePtr, const BoundingBox &bBox, const BoolVector &periodicDimensions, double tolerance, double cubicPackRadius, int maxInsertionFailures, const PlaneVector &fitPlaneVector, GrainPoolPtr grainPoolPtr)
 
virtual ~GrainRandomBoxPacker ()
 
ParticleGrainGengetParticleGrainGen ()
 
const ParticleGrainGengetParticleGrainGen () const
 
void setParticleGrainGen (ParticleGrainGen &particleGrainGen)
 
void setParticleGrainGen (ParticleGrainGenPtr particleGrainGenPtr)
 
GrainId getNextGrainId () const
 
GrainconstructGrain ()
 
GraincreateAndInsertGrain (const Grain &grain)
 
void generateRandomFillGrains ()
 
void generateCubicPackingGrains ()
 
int getNumGrains () const
 
GrainConstIterator getGrainIterator () const
 
GrainIterator getGrainIterator ()
 
const GrainCollectiongetGrainCollection () const
 
GrainCollectiongetGrainCollection ()
 
virtual void generate ()
 

Private Attributes

GrainCollectionPtr m_grainCollectionPtr
 

Member Typedef Documentation

◆ Grain

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::Grain esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::Grain

◆ GrainCollection

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef TmplGrainCollection esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainCollection

◆ GrainCollectionPtr

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef boost::shared_ptr<GrainCollection> esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainCollectionPtr

◆ GrainConstIterator

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::GrainConstIterator esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainConstIterator

◆ GrainId

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Grain::Id esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainId

◆ GrainIterator

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::GrainIterator esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainIterator

◆ GrainPool

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::GrainPool esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainPool

◆ GrainPoolPtr

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::GrainPoolPtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainPoolPtr

◆ Inherited

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef TmplRndBoxPackerWrap<TmplParticleGrainGen>::RandomBoxPackerBase esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::Inherited

◆ NTable

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::NTable esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::NTable

◆ NTablePtr

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::NTablePtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::NTablePtr

◆ Particle

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::Particle esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::Particle

◆ ParticleGrainGen

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticleGenerator esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticleGrainGen

◆ ParticleGrainGenPtr

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticleGeneratorPtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticleGrainGenPtr

◆ ParticlePool

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticlePool esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticlePool

◆ ParticlePoolPtr

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticlePoolPtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticlePoolPtr

◆ ParticleVector

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticleVector esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticleVector

◆ PlaneVector

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::PlaneVector esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::PlaneVector

◆ RandomBoxPackerBase

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::RandomBoxPackerBase

◆ StuffedParticleIterator

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::StuffedParticleIterator esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::StuffedParticleIterator

Constructor & Destructor Documentation

◆ GrainRandomBoxPacker() [1/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainRandomBoxPacker ( ParticleGrainGenPtr  particleGrainGenPtr,
ParticlePoolPtr  particlePoolPtr,
NTablePtr  nTablePtr,
const BoundingBox bBox,
const BoolVector periodicDimensions,
double  tolerance,
double  cubicPackRadius,
int  maxInsertionFailures 
)

◆ GrainRandomBoxPacker() [2/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainRandomBoxPacker ( ParticleGrainGenPtr  particleGrainGenPtr,
ParticlePoolPtr  particlePoolPtr,
NTablePtr  nTablePtr,
const BoundingBox bBox,
const BoolVector periodicDimensions,
double  tolerance,
double  cubicPackRadius,
int  maxInsertionFailures,
const PlaneVector fitPlaneVector,
GrainPoolPtr  grainPoolPtr 
)

◆ ~GrainRandomBoxPacker()

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::~GrainRandomBoxPacker
virtual

Member Function Documentation

◆ constructGrain()

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::Grain & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::constructGrain

◆ createAndInsertGrain()

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::Grain & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::createAndInsertGrain ( const Grain grain)

◆ generate()

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
void esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::generate
virtual

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

Here is the caller graph for this function:

◆ generateCubicPackingGrains()

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
void esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::generateCubicPackingGrains

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

Here is the call graph for this function:

◆ generateRandomFillGrains()

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
void esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::generateRandomFillGrains

◆ getGrainCollection() [1/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainCollection & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getGrainCollection

◆ getGrainCollection() [2/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
const GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainCollection & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getGrainCollection

Referenced by esys::lsm::GrainRandomBoxPackerPy::getGrainCollectionPy().

Here is the caller graph for this function:

◆ getGrainIterator() [1/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainIterator esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getGrainIterator

◆ getGrainIterator() [2/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainConstIterator esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getGrainIterator

Referenced by esys::lsm::GrainRandomBoxPackerPy::getGrainIteratorPy().

Here is the caller graph for this function:

◆ getNextGrainId()

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainId esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getNextGrainId

◆ getNumGrains()

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
int esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getNumGrains

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

Here is the caller graph for this function:

◆ getParticleGrainGen() [1/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::ParticleGrainGen & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getParticleGrainGen

◆ getParticleGrainGen() [2/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
const GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::ParticleGrainGen & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getParticleGrainGen

◆ setParticleGrainGen() [1/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
void esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::setParticleGrainGen ( ParticleGrainGen particleGrainGen)

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

Here is the caller graph for this function:

◆ setParticleGrainGen() [2/2]

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
void esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::setParticleGrainGen ( ParticleGrainGenPtr  particleGrainGenPtr)

Member Data Documentation

◆ m_grainCollectionPtr

template<typename TmplParticleGrainGen , typename TmplGrainCollection , template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
GrainCollectionPtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::m_grainCollectionPtr
private

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