ESyS-Particle  2.3.2
SphAggGougeBlock.hpp
Go to the documentation of this file.
1 
2 // //
3 // Copyright (c) 2003-2014 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
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  {
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  {
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