GenGeo  1.1
AVolume.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 __AVOLUME_H
14 #define __AVOLUME_H
15 
16 // --- Project includes ---
17 #include "util/vector3.h"
18 #include "geometry/Sphere.h"
19 
20 // --- STL includes ---
21 #include <utility>
22 #include <vector>
23 
24 using std::pair;
25 using std::vector;
26 
32 class AVolume
33 {
34  private:
35 
36  public:
37  virtual ~AVolume(){};
38  virtual pair<Vector3,Vector3> getBoundingBox() = 0;
39  virtual Vector3 getAPoint(int) const = 0;
40  // virtual bool hasPlane() const = 0;
41 // virtual bool isIn(const Vector3&) = 0;
42  virtual bool isIn(const Vector3&) const = 0;
43  virtual bool isIn(const Sphere&) =0;
44  virtual int getNumberSubVolumes()const{return 1;};
45 };
46 
47 #endif // __AVOLUME_H