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

#include <GrainRandomBoxPacker.h>

Inheritance 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: