14 #ifndef ESYS_LSMPACKERGENERATORS_H
15 #define ESYS_LSMPACKERGENERATORS_H
17 #include "Foundation/vec3.h"
26 template <
typename TmplParticle>
30 typedef TmplParticle Particle;
80 template <
typename TmplParticle>
84 typedef TmplParticle Particle;
108 double m_minFitRadius;
109 double m_maxFitRadius;
116 template <
typename TmplParticle>
121 typedef typename Inherited::Particle Particle;
133 Particle getParticle(
const Vec3 &posn)
const;
135 Particle getParticle(
const Vec3 &posn,
double suggestedRadius)
const;
140 template <
typename TmplGrain>
145 typedef TmplGrain Grain;
146 typedef typename Grain::Particle Particle;
152 const double &getMinGrainRadius()
const;
154 const double &getMaxGrainRadius()
const;
156 virtual Grain getGrain(
const Particle &p) = 0;
159 template <
typename TmplGrain>
164 typedef typename Inherited::Grain Grain;
165 typedef typename Grain::Particle Particle;
169 const double &getMinParticleRadius()
const;
171 const double &getMaxParticleRadius()
const;
173 virtual Grain getGrain(
const Particle &p);
178 #include "Geometry/PackerGenerators.hpp"