14 #ifndef ESYS_LSMGRAINRANDOMBOXPACKER_H
15 #define ESYS_LSMGRAINRANDOMBOXPACKER_H
21 #include <boost/shared_ptr.hpp>
30 template <
typename TmplParticleGrainGen,
typename TmplGrainCollection,
template <
typename TPartGrainGen>
class TmplRndBoxPackerWrap>
43 typename TmplRndBoxPackerWrap<TmplParticleGrainGen>::RandomBoxPackerBase
49 typedef typename Inherited::NTable
NTable;
58 ParticleGrainGenPtr particleGrainGenPtr,
59 ParticlePoolPtr particlePoolPtr,
64 double cubicPackRadius,
65 int maxInsertionFailures
69 ParticleGrainGenPtr particleGrainGenPtr,
70 ParticlePoolPtr particlePoolPtr,
75 double cubicPackRadius,
76 int maxInsertionFailures,
77 const PlaneVector &fitPlaneVector,
78 GrainPoolPtr grainPoolPtr
GrainCollectionPtr m_grainCollectionPtr
Definition: GrainRandomBoxPacker.h:114
void generateRandomFillGrains()
Definition: GrainRandomBoxPacker.hpp:195
Definition: GrainCollection.h:70
GrainCollection::GrainPool GrainPool
Definition: GrainRandomBoxPacker.h:40
Grain & createAndInsertGrain(const Grain &grain)
Definition: GrainRandomBoxPacker.hpp:167
GrainCollection::GrainConstIterator GrainConstIterator
Definition: GrainRandomBoxPacker.h:37
GrainId getNextGrainId() const
Definition: GrainRandomBoxPacker.hpp:153
void generateCubicPackingGrains()
Definition: GrainRandomBoxPacker.hpp:182
const GrainCollection & getGrainCollection() const
Definition: GrainRandomBoxPacker.hpp:86
GrainConstIterator getGrainIterator() const
Definition: GrainRandomBoxPacker.hpp:107
GrainCollection::Grain Grain
Definition: GrainRandomBoxPacker.h:38
Definition: GrainCollection.h:50
virtual ~GrainRandomBoxPacker()
Definition: GrainRandomBoxPacker.hpp:80
GrainCollection::GrainPoolPtr GrainPoolPtr
Definition: GrainRandomBoxPacker.h:41
std::vector< Plane3D > PlaneVector
Definition: GougeBlock3D.h:32
Grain::Id GrainId
Definition: GrainRandomBoxPacker.h:39
Inherited RandomBoxPackerBase
Definition: GrainRandomBoxPacker.h:45
Grain & constructGrain()
Definition: GrainRandomBoxPacker.hpp:160
Definition: CheckPointable.cpp:16
Inherited::PlaneVector PlaneVector
Definition: GrainRandomBoxPacker.h:54
virtual void generate()
Definition: GrainRandomBoxPacker.hpp:211
Inherited::ParticleVector ParticleVector
Definition: GrainRandomBoxPacker.h:51
Inherited::ParticleGeneratorPtr ParticleGrainGenPtr
Definition: GrainRandomBoxPacker.h:47
3D bounding box
Definition: BoundingBox.h:27
Inherited::Particle Particle
Definition: GrainRandomBoxPacker.h:48
ParticleGrainGen & getParticleGrainGen()
Definition: GrainRandomBoxPacker.hpp:121
boost::shared_ptr< GrainPool > GrainPoolPtr
Definition: GrainCollection.h:41
boost::object_pool< Grain > GrainPool
Definition: GrainCollection.h:40
TmplRndBoxPackerWrap< TmplParticleGrainGen >::RandomBoxPackerBase Inherited
Definition: GrainRandomBoxPacker.h:44
Inherited::ParticleGenerator ParticleGrainGen
Definition: GrainRandomBoxPacker.h:46
TmplGrainCollection GrainCollection
Definition: GrainRandomBoxPacker.h:34
GrainCollection::GrainIterator GrainIterator
Definition: GrainRandomBoxPacker.h:36
Inherited::NTable NTable
Definition: GrainRandomBoxPacker.h:49
Inherited::NTablePtr NTablePtr
Definition: GrainRandomBoxPacker.h:50
long Id
Definition: Grain.h:36
Definition: GrainRandomBoxPacker.h:31
Inherited::ParticlePool ParticlePool
Definition: GrainRandomBoxPacker.h:52
Inherited::StuffedParticleIterator StuffedParticleIterator
Definition: GrainRandomBoxPacker.h:55
std::vector< bool > BoolVector
Definition: BlockGenerator.h:28
TmplGrain Grain
Definition: GrainCollection.h:33
GrainRandomBoxPacker(ParticleGrainGenPtr particleGrainGenPtr, ParticlePoolPtr particlePoolPtr, NTablePtr nTablePtr, const BoundingBox &bBox, const BoolVector &periodicDimensions, double tolerance, double cubicPackRadius, int maxInsertionFailures)
Definition: GrainRandomBoxPacker.hpp:55
void setParticleGrainGen(ParticleGrainGen &particleGrainGen)
Definition: GrainRandomBoxPacker.hpp:135
boost::shared_ptr< GrainCollection > GrainCollectionPtr
Definition: GrainRandomBoxPacker.h:35
Inherited::ParticlePoolPtr ParticlePoolPtr
Definition: GrainRandomBoxPacker.h:53
std::vector< SimpleParticle > ParticleVector
Definition: SimpleNTable3D.h:22
int getNumGrains() const
Definition: GrainRandomBoxPacker.hpp:114