ESyS-Particle  4.0.1
RegularBlockGenerator.h
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 
14 #ifndef ESYS_LSMREGULARBLOCKGENERATOR_H
15 #define ESYS_LSMREGULARBLOCKGENERATOR_H
16 
17 #include <Geometry/BlockGenerator.h>
18 
19 namespace esys
20 {
21  namespace lsm
22  {
23  typedef std::vector<bool> BoolVector;
28  {
29  public:
31  NTable &nTable,
32  ParticlePool &particlePool,
33  const BoundingBox &bBox,
34  const BoolVector &periodicDimensions,
35  double tolerance,
36  double sphereRadius
37  );
38 
39  virtual ~RegularBlockGenerator();
40 
41  virtual double getRadius() const;
42 
43  virtual double getGridRadius() const;
44 
45  virtual void generate();
46 
47  private:
48  double m_radius;
49  };
50  };
51 };
52 
53 #endif