14 #ifndef ESYS_LSMCLOSEPACKBLOCK_HPP
15 #define ESYS_LSMCLOSEPACKBLOCK_HPP
17 #include "Geometry/ClosePackBlock.h"
18 #include "Geometry/ClosePackIterator.h"
24 template <
typename TmplClosePackIterator,
typename TmplParticle>
25 ClosePackBlockGenerator<TmplClosePackIterator,TmplParticle>::ClosePackBlockGenerator(
33 m_dimCounts(numX, numY, numZ),
34 m_orientation(orientation)
38 template <
typename TmplClosePackIterator,
typename TmplParticle>
39 template <
typename TmplParticleCollection>
41 ClosePackBlockGenerator<TmplClosePackIterator,TmplParticle>::createParticles(
42 TmplParticleCollection &particleCollection
46 CentrePointIterator it =
52 ((m_orientation == DEFAULT_ORIENT) && (m_dimCounts[2] <= 1)) ? XYZ : m_orientation
57 particleCollection.createParticle(
69 template <
typename TmplClosePackIterator,
typename TmplParticle>
70 ClosePackBlockGenerator<TmplClosePackIterator,TmplParticle>::~ClosePackBlockGenerator()
74 template <
typename TmplClosePackIterator,
typename TmplParticle>
75 double ClosePackBlockGenerator<TmplClosePackIterator,TmplParticle>::getRadius()
const
86 template <
typename TmplClosePackIterator,
typename TmplParticle>
87 ClosePackBlock<TmplClosePackIterator,TmplParticle>::ClosePackBlock(
94 : ParticleCollection<TmplParticle>(),
95 m_generator(numX, numY, numZ, radius)
100 template <
typename TmplClosePackIterator,
typename TmplParticle>
101 ClosePackBlock<TmplClosePackIterator,TmplParticle>::~ClosePackBlock()
105 template <
typename TmplClosePackIterator,
typename TmplParticle>
106 void ClosePackBlock<TmplClosePackIterator,TmplParticle>::createParticles()
108 m_generator.createParticles(*
this);
111 template <
typename TmplClosePackIterator,
typename TmplParticle>
112 double ClosePackBlock<TmplClosePackIterator,TmplParticle>::getRadius()
const
114 return m_generator.getRadius();