///////////////////////////////////////////////////////////// // // // Copyright (c) 2007-2014 by The University of Queensland // // Centre for Geoscience Computing // // http://earth.uq.edu.au/centre-geoscience-computing // // // // Primary Business: Brisbane, Queensland, Australia // // Licensed under the Open Software License version 3.0 // // http://www.opensource.org/licenses/osl-3.0.php // // // ///////////////////////////////////////////////////////////// #ifndef __TRIANGLE_3D #define __TRIANGLE_3D // project includes #include "../util/vector3.h" #include "AGeometricObject.h" /*! class for a triagle in 3D. */ class Triangle3D : public AGeometricObject { private: Vector3 m_p1,m_p2,m_p3; int m_tag; public: Triangle3D(const Vector3&,const Vector3&,const Vector3&,int); virtual double getDist(const Vector3&) const; bool crosses(const Vector3&, const Vector3&) const; int getTag() const {return m_tag;}; Vector3 getMinPoint() const; Vector3 getMaxPoint() const; }; #endif // __TRIANGLE_3D