GenGeo  1.1
CylinderWithJointSet.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 __CYLINDERWITHJOINTSET_H
14 #define __CYLINDERWITHJOINTSET_H
15 
16 // --- Project includes ---
17 #include "CylinderVol.h"
18 #include "geometry/Plane.h"
19 #include "TriPatchSet.h"
20 #include "geometry/Triangle3D.h"
21 
22 // --- STL includes ---
23 #include <vector>
24 #include <map>
25 
26 using std::vector;
27 using std::map;
28 
30 {
31  protected:
32  vector<Triangle3D> m_joints;
33 
34  public:
36  CylinderWithJointSet(const Vector3&,const Vector3&,double,double);
37  virtual ~CylinderWithJointSet(){};
38 
39  virtual const map<double,const AGeometricObject*> getClosestObjects(const Vector3&,int) const;
40  void addJoints(const TriPatchSet&);
41  virtual bool isIn(const Sphere&);
42 
43  friend ostream& operator << (ostream&,const CylinderWithJointSet&);
44 };
45 
46 #endif // __CYLINDERWITHJOINTSET_H