ESyS-Particle  2.3
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
< GrainCollection
GrainCollectionPtr
 
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

template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::Grain esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::Grain
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef TmplGrainCollection esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainCollection
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef boost::shared_ptr<GrainCollection> esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainCollectionPtr
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::GrainConstIterator esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainConstIterator
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Grain::Id esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainId
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::GrainIterator esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainIterator
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::GrainPool esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainPool
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef GrainCollection::GrainPoolPtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::GrainPoolPtr
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef TmplRndBoxPackerWrap<TmplParticleGrainGen>::RandomBoxPackerBase esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::Inherited
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::NTable esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::NTable
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::NTablePtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::NTablePtr
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::Particle esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::Particle
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticleGenerator esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticleGrainGen
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticleGeneratorPtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticleGrainGenPtr
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticlePool esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticlePool
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticlePoolPtr esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticlePoolPtr
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::ParticleVector esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::ParticleVector
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::PlaneVector esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::PlaneVector
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::RandomBoxPackerBase
template<typename TmplParticleGrainGen, typename TmplGrainCollection, template< typename TPartGrainGen > class TmplRndBoxPackerWrap>
typedef Inherited::StuffedParticleIterator esys::lsm::GrainRandomBoxPacker< TmplParticleGrainGen, TmplGrainCollection, TmplRndBoxPackerWrap >::StuffedParticleIterator

Constructor & Destructor Documentation

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 
)
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 
)
template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::~GrainRandomBoxPacker ( )
virtual

Member Function Documentation

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::Grain & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::constructGrain ( )
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)
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:

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:

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

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

Here is the caller graph for this function:

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

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

Here is the caller graph for this function:

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainIterator esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getGrainIterator ( )
template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::GrainId esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getNextGrainId ( ) const
template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
int esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getNumGrains ( ) const

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

Here is the caller graph for this function:

template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::ParticleGrainGen & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getParticleGrainGen ( )
template<typename TGrainGen , typename TGrainCol , template< typename TTGrainGen > class TRndPackWrap>
const GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::ParticleGrainGen & esys::lsm::GrainRandomBoxPacker< TGrainGen, TGrainCol, TRndPackWrap >::getParticleGrainGen ( ) const
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:

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

Member Data Documentation

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: