Go to the documentation of this file.
14 #ifndef ESYS_LSMRANDOMSPHEREPACKER_H
15 #define ESYS_LSMRANDOMSPHEREPACKER_H
26 #include <boost/shared_ptr.hpp>
32 template <
typename TmplFitterTraits>
39 typedef typename FitterTraits::Packer
Packer;
63 int maxInsertionFailures,
110 template <
typename TmplParticleGenerator,
template <
typename TmplPartGen>
class TmplCubicBoxPackerWrap>
115 typename TmplCubicBoxPackerWrap<TmplParticleGenerator>::CubicBoxPackerBase
120 typedef typename Inherited::NTable
NTable;
141 double cubicPackRadius,
142 int maxInsertionFailures,
152 double getRandom(
double min,
double max)
const;
FitterTraits::Plane3D Plane3D
Definition: RandomSpherePacker.h:49
bool particleFitsInBSphereWithNeighbours(const Particle &particle) const
Definition: RandomSpherePacker.hpp:380
bool particleIsValid(const Particle &particle) const
Definition: RandomSpherePacker.hpp:330
Particle getCandidateParticle(const Vec3 &point)
Definition: RandomSpherePacker.hpp:122
virtual void generate()
Definition: RandomSpherePacker.hpp:406
Packer * m_pPacker
Definition: RandomSpherePacker.h:98
Particle & generateNext()
Definition: RandomSpherePacker.hpp:141
void initialiseFitterPtrVector()
Definition: RandomSpherePacker.hpp:83
std::vector< FitterPtr > FitterPtrVector
Definition: RandomSpherePacker.h:54
Definition: SphereFitter.h:461
MoveToSurfaceFitter< FitTraits > Move2SurfaceFitter
Definition: RandomSpherePacker.h:55
const Packer & getPacker() const
Definition: RandomSpherePacker.hpp:62
Inherited::ParticleGeneratorPtr ParticleGeneratorPtr
Definition: RandomSpherePacker.h:118
NTable::ParticleVector ParticleVector
Definition: RandomSpherePacker.h:122
bool particleFitsInBSphere(const Particle &particle) const
Definition: RandomSpherePacker.hpp:367
::Plane3D Plane3D
Definition: Plane3D.h:60
FitterTraits::PlaneVector PlaneVector
Definition: RandomSpherePacker.h:38
TmplCubicBoxPackerWrap< TmplParticleGenerator >::CubicBoxPackerBase Inherited
Definition: RandomSpherePacker.h:116
ThreeDSphereFitter< FitTraits > ThreeDFitter
Definition: RandomSpherePacker.h:56
bool hasNext()
Definition: RandomSpherePacker.hpp:180
Packer Validator
Definition: RandomSpherePacker.h:46
std::vector< Plane3D > PlaneVector
Definition: RandomSpherePacker.h:131
Definition: BoundingSphere.h:28
const FitterPtrVector & getFitterPtrVector() const
Definition: RandomSpherePacker.hpp:109
Particle m_next
Definition: RandomSpherePacker.h:103
int m_successCount
Definition: RandomSpherePacker.h:102
Packer::ParticleVector ParticleVector
Definition: RandomSpherePacker.h:48
Inherited::NTablePtr NTablePtr
Definition: RandomSpherePacker.h:121
Definition: SphereFitter.h:30
std::vector< Plane3D > PlaneVector
Definition: GougeBlock3D.h:32
RandomSpherePacker Packer
Definition: RandomSpherePacker.h:129
Definition: RandomSpherePacker.h:34
FitterTraits::Packer Packer
Definition: RandomSpherePacker.h:39
int m_maxInsertionFailures
Definition: RandomSpherePacker.h:172
Definition: CheckPointable.cpp:17
SphereFittedPIterator< StufferTraits > StuffedParticleIterator
Definition: RandomSpherePacker.h:133
Definition: RandomSpherePacker.h:112
void logInfo()
Definition: RandomSpherePacker.hpp:199
Inherited::ParticlePool ParticlePool
Definition: RandomSpherePacker.h:123
TmplFitterTraits FitterTraits
Definition: RandomSpherePacker.h:36
Inherited::Particle Particle
Definition: RandomSpherePacker.h:119
Definition: SphereFitter.h:192
ParticleVector getClosestNeighbours(const Particle &particle, int numClosest)
Definition: RandomSpherePacker.hpp:303
Packer::Particle Particle
Definition: RandomSpherePacker.h:47
RandomSpherePacker(ParticleGeneratorPtr particleGeneratorPtr, ParticlePoolPtr particlePoolPtr, NTablePtr nTablePtr, const BoundingSphere &bSphere, double tolerance, double cubicPackRadius, int maxInsertionFailures, bool do2d)
Definition: RandomSpherePacker.hpp:243
int m_maxInsertionFailures
Definition: RandomSpherePacker.h:100
Definition: SphereFitter.h:278
double getRandom(double min, double max) const
ThreeDSphereSphereFitter< FitTraits > ThreeDSSphereFitter
Definition: RandomSpherePacker.h:59
SphereFittedPIterator(Packer &packer, int maxInsertionFailures, const BoundingSphere &bSphere)
Definition: RandomSpherePacker.hpp:29
double getRandom(double min, double max) const
Definition: RandomSpherePacker.hpp:282
boost::shared_ptr< Fitter > FitterPtr
Definition: RandomSpherePacker.h:53
virtual ~RandomSpherePacker()
Definition: RandomSpherePacker.hpp:268
BoundingSphere m_bSphere
Definition: RandomSpherePacker.h:171
int getMaxInsertionFailures() const
Definition: RandomSpherePacker.hpp:55
TwoDSphereSphereFitter< FitTraits > TwoDSSphereFitter
Definition: RandomSpherePacker.h:58
SphereFitter< FitTraits > Fitter
Definition: RandomSpherePacker.h:52
Vec3 getRandomPoint() const
Definition: RandomSpherePacker.hpp:115
Definition: RandomSpherePacker.h:127
ParticleCollection::Particle Particle
Definition: Packer.h:38
FitterPtrVector m_fitterPtrVector
Definition: RandomSpherePacker.h:99
esys::lsm::Plane3D Plane3D
Definition: RandomSpherePacker.h:130
void generateRandomFill()
Definition: RandomSpherePacker.hpp:349
Definition: ParticleFitter.h:109
BoundingSphere m_bSphere
Definition: RandomSpherePacker.h:104
Inherited::NTable NTable
Definition: RandomSpherePacker.h:120
int m_lastFailCount
Definition: RandomSpherePacker.h:101
std::vector< SimpleParticle > ParticleVector
Definition: SimpleNTable3D.h:22
Vec3 getRandomPoint() const
Definition: RandomSpherePacker.hpp:291
void generateCubicPackingInSphere()
Definition: RandomSpherePacker.hpp:393
Particle next()
Definition: RandomSpherePacker.hpp:187
const BoundingSphere & getBSphere() const
Definition: RandomSpherePacker.hpp:76
Definition: SphereFitter.h:362
const BoundingSphere & getBSphere() const
Definition: RandomSpherePacker.hpp:274
Packer::ParticleVector ParticleVector
Definition: RandomSpherePacker.h:41
TwoDSphereFitter< FitTraits > TwoDSFitter
Definition: RandomSpherePacker.h:57
Packer::Particle Particle
Definition: RandomSpherePacker.h:40
Inherited::ParticleGenerator ParticleGenerator
Definition: RandomSpherePacker.h:117
int getMaxInsertionFailures() const
Definition: RandomSpherePacker.hpp:343
ParticleVector getClosestNeighbours(const Particle &particle, int numClosest)
Definition: RandomSpherePacker.hpp:131
FitterTraits::Plane3D Plane
Definition: RandomSpherePacker.h:37
Inherited::ParticlePoolPtr ParticlePoolPtr
Definition: RandomSpherePacker.h:124
Definition: RandomSpherePacker.h:44