ESyS-Particle  2.3.2
GranularGougeBlock3D.h
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 #ifndef __ESYS_LSM_GRANULARGOUGEBLOCK3D_H
14 #define __ESYS_LSM_GRANULARGOUGEBLOCK3D_H
15 
16 // --- project includes --
17 #include "Geometry/GougeBlock3D.h"
18 
19 namespace esys {
20  namespace lsm {
21 
32  {
33  private:
34  vector<Vec3> m_grain_seeds;
35 
36  void generateSeeds(double,double,double,double,double,double);
37 
38  public:
40  virtual ~GranularGougeBlock3D();
41 
42  virtual void createInteractionSet();
43  virtual void generate();
44  //virtual void generateGrains(double,double,double,double,double,double,int,int rm_threshold=0);
45  virtual void generateGrains(double,double,double,double,double,double,int);
46  };
47 
57  {
58  private:
60  double m_tolerance;
61 
62  public:
64  bool isValid(const SimpleParticle&, const SimpleParticle&) const;
65  };
66  }
67 }
68 
69 #endif // __ESYS_LSM_GRANULARGOUGEBLOCK3D_H