ESyS-Particle  4.0.1
SphAggGougeBlock.hpp
1 
2 // //
3 // Copyright (c) 2003-2011 by The University of Queensland //
4 // Earth Systems Science Computational Centre (ESSCC) //
5 // http://www.uq.edu.au/esscc //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 namespace esys {
14  namespace lsm {
15 
18  template <typename TmplVisitor>
19  void SphAggGougeBlock::visitParticles(TmplVisitor& visitor)
20  {
21  GougeBlock3D::visitParticles(visitor);
22  for(vector<SBG_ptr>::iterator it = m_grainParticleGen.begin();
23  it != m_grainParticleGen.end();
24  it++)
25  {
26  SphereBlockGenerator::ParticleIterator particleIt = (*it)->getParticleIterator();
27  while (particleIt.hasNext()) {
28  particleIt.next()->visit(visitor);
29  }
30  }
31  }
32 
35  template <typename TmplVisitor>
36  void SphAggGougeBlock::visitParticles(TmplVisitor& visitor) const
37  {
38  GougeBlock3D::visitParticles(visitor);
39  for(vector<SBG_ptr>::iterator it = m_grainParticleGen.begin();
40  it != m_grainParticleGen.end();
41  it++)
42  {
43  SphereBlockGenerator::ParticleIterator particleIt = (*it)->getParticleIterator();
44  while (particleIt.hasNext()) {
45  particleIt.next()->visit(visitor);
46  }
47  }
48  }
49  }; // namespace lsm
50 }; // namespace esys