20 #include <boost/limits.hpp>
26 template <
typename TmplParticle>
34 m_dimCounts(numX, numY, numZ)
38 template <
typename TmplParticle>
43 idx[0]*2.0*getRadius() + getRadius(),
44 idx[1]*2.0*getRadius() + getRadius(),
45 idx[2]*2.0*getRadius() + ((m_dimCounts[2] > 1) ? getRadius() : 0.0)
49 template <
typename TmplParticle>
57 idx[2]*m_dimCounts[0]*m_dimCounts[1];
60 template <
typename TmplParticle>
61 template <
typename TmplParticleCollection>
64 TmplParticleCollection &particleCollection
68 for (idx[2]=0; idx[2] < m_dimCounts[2]; (idx[2])++)
70 for (idx[1]=0; idx[1] < m_dimCounts[1]; (idx[1])++)
72 for (idx[0]=0; idx[0] < m_dimCounts[0]; (idx[0])++)
74 particleCollection.createParticle(
87 template <
typename TmplParticle>
92 template <
typename TmplParticle>
104 template <
typename TmplParticle>
112 m_generator(numX, numY, numZ, radius)
117 template <
typename TmplParticle>
122 template <
typename TmplParticle>
125 m_generator.createParticles(*
this);
128 template <
typename TmplParticle>
131 return m_generator.getRadius();
virtual ~SimpleBlockGenerator()
Definition: SimpleBlock.hpp:88
double getRadius() const
Definition: SimpleBlock.hpp:93
int getId(const Vec3L &idx)
Definition: SimpleBlock.hpp:50
Definition: CheckPointable.cpp:16
SimpleBlockGenerator(unsigned int numX, unsigned int numY, unsigned int numZ, double radius=0.5)
Definition: SimpleBlock.hpp:27
SimpleBlock(unsigned int numX, unsigned int numY, unsigned int numZ, double radius=0.5)
Definition: SimpleBlock.hpp:105
Vec3 getPos(const Vec3L &idx)
Definition: SimpleBlock.hpp:39
void createParticles(TmplParticleCollection &particleCollection)
Definition: SimpleBlock.hpp:63
Definition: ParticleCollection.h:34
double getRadius() const
Definition: SimpleBlock.hpp:129
virtual ~SimpleBlock()
Definition: SimpleBlock.hpp:118
void createParticles()
Definition: SimpleBlock.hpp:123