8 #include "Orientation.h"
46 GMSPolygon(
const int _v1,
const int _v2,
const int _v3,
71 const
int& operator[](const
size_t _i) const noexcept;
74 size_t GetNumVertices() const noexcept;
79 const Point3d& GetPoint(const
size_t _i) const noexcept;
82 Vector3d& GetNormal() noexcept;
83 const Vector3d& GetNormal() const noexcept;
86 double GetArea() const noexcept;
99 bool operator==(const
GMSPolygon& _p) const noexcept;
100 bool operator!=(const
GMSPolygon& _p) const noexcept;
107 bool operator<(const
GMSPolygon& _other) const noexcept;
108 bool operator>(const
GMSPolygon& _other) const noexcept;
115 const
bool IsTriangle() const noexcept;
118 const Point3d FindCenter() const noexcept;
124 const
bool PointIsAbove(const Point3d& _p) const noexcept;
129 const
int CommonVertex(const
GMSPolygon& _p) const noexcept;
135 const std::pair<
int,
int> CommonEdge(const
GMSPolygon& _p) const noexcept;
148 void AlignIndexes() noexcept;
159 const PointList* m_pointList{
nullptr};
Definition: GMSPolygon.h:21
std::vector< Point3d > PointList
Definition: GMSPolygon.h:28
std::vector< int > IndexList
Definition: GMSPolygon.h:29
IndexList::const_iterator const_iterator
Definition: GMSPolygon.h:31