GenGeo  1.1
DifferenceVol.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 // // //
11 
12 #ifndef __DIFFERENCE_VOLUME_SET_H
13 #define __DIFFERENCE_VOLUME_SET_H
14 
15 // --- Project includes ---
16 #include "AVolume3D.h"
17 
18 // --- STL includes ---
19 #include <map>
20 
21 using std::map;
22 
23 class DifferenceVol : public AVolume3D
24 {
25  protected:
28 
29  public:
30  DifferenceVol ();
32  virtual ~DifferenceVol (){};
33 
34  virtual const map<double,const AGeometricObject*> getClosestObjects(const Vector3&,int) const;
35 
36  virtual pair<Vector3,Vector3> getBoundingBox();
37  virtual Vector3 getAPoint(int) const;
38  virtual bool isIn(const Vector3&) const;
39  virtual bool isIn(const Sphere&);
40  virtual int getNumberSubVolumes()const{return 2;};
41  virtual bool isFullyOutside(const Sphere&);
42 
43  friend ostream& operator << (ostream&,const DifferenceVol&);
44 };
45 
46 #endif // __DIFFERENCE_VOLUME_SET_H
47