GenGeo  1.1
Torus.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 __TORUS_H
14 #define __TORUS_H
15 
16 //-- project includes --
17 #include "util/vector3.h"
18 
19 // --- project includes ---
20 #include "AGeometricObject.h"
21 
22 class Torus : public AGeometricObject
23 {
24  private:
27  double m_r1,m_r2;
28  bool m_inside;
29 
30  public:
31  Torus(const Vector3&,const Vector3&,double,double,bool);
32  Torus(){};
33  ~Torus(){};
34 
35  virtual double getDist(const Vector3&) const;
36  double getInnerRadius() const {return m_r1;};
37  double getOuterRadius() const {return m_r2;};
38  Vector3 getBasePoint() const {return m_c;};
39  Vector3 getAxis() const {return m_axis;};
40 };
41 
42 #endif //__TORUS_H