GenGeo  1.1
InsertGenerator3D.h
Go to the documentation of this file.
1 
2 // //
3 // Copyright (c) 2007-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 __INSERTGENERATOR3D_H
14 #define __INSERTGENERATOR3D_H
15 
16 // --- Project includes ---
17 #include "AGenerator3D.h"
18 
25 {
26  protected:
27  double m_rmin;
28  double m_rmax;
29  double m_max_tries;
31  double m_prec;
32  double m_next_tag;
34 
35  virtual void seedParticles(AVolume3D* ,MNTable3D* ,int,int);
36  virtual void seedParticles(AVolume3D* ,MNTable3D* ,int,int,ShapeList*);
37 
38  public:
40  InsertGenerator3D(double,double,int,int,double);
41  InsertGenerator3D(double,double,int,int,double,bool);
42  virtual ~InsertGenerator3D();
43 
44  void setOldSeeding(bool);
45  virtual void fillIn(AVolume3D* ,MNTable3D* ,int,int);
46  virtual void fillIn(AVolume3D* ,MNTable3D* ,int,int,ShapeList*);
47  virtual void fillIn(AVolume3D* ,MNTable3D* ,int,int,double);
48  virtual void generatePacking3 (AVolume3D*,MNTable3D*,int);
49  virtual void generatePacking4 (AVolume3D*,MNTable3D*,int,int);
50  virtual void generatePackingMaxVolume(AVolume3D*,MNTable3D*,int,int,double);
51  virtual void generatePacking (AVolume3D*,MNTable3D*,int,int,ShapeList*);
52  void setNextTag(int);
53 
54  friend ostream& operator << (ostream&,const InsertGenerator3D&);
55 };
56 
57 #endif // __INSERTGENERATOR2D_H