1 #ifndef WORKSPACE_REGION_H_
2 #define WORKSPACE_REGION_H_
86 const Point3d&
GetPoint(const
size_t _i) const noexcept;
89 const std::vector<Point3d>
GetPoints() const noexcept;
102 const
bool HasPoint(const Point3d& _p) const noexcept;
124 std::vector<size_t> m_points;
125 std::vector<Facet> m_facets;
127 std::unique_ptr<Boundary> m_boundary;
Definition: Boundary.h:30
Definition: GMSPolygon.h:21
Definition: WorkspaceDecomposition.h:24
Definition: WorkspaceRegion.h:18
const size_t GetNumFacets() const noexcept
Get the number of facets in the region.
Definition: WorkspaceRegion.cpp:116
void AddBoundary(std::unique_ptr< Boundary > &&_b)
Add a boundary and assume ownership of it.
Definition: WorkspaceRegion.cpp:101
bool operator!=(const WorkspaceRegion &_region) const noexcept
Definition: WorkspaceRegion.cpp:79
const bool HasPoint(const Point3d &_p) const noexcept
Check if a given point is part of this region's boundary.
Definition: WorkspaceRegion.cpp:155
void AddFacet(Facet &&_f)
Definition: WorkspaceRegion.cpp:94
const Boundary * GetBoundary() const noexcept
Get the boundary for this region.
Definition: WorkspaceRegion.cpp:147
WorkspaceRegion & operator=(WorkspaceRegion &&)
Move.
const std::vector< Point3d > FindSharedPoints(const WorkspaceRegion &_wr) const noexcept
Find shared points with another workspace region.
Definition: WorkspaceRegion.cpp:176
GMSPolygon Facet
A triangle facet.
Definition: WorkspaceRegion.h:25
const std::vector< Facet > & GetFacets() const noexcept
Get the set of facets that border this region.
Definition: WorkspaceRegion.cpp:140
const std::vector< const Facet * > FindSharedFacets(const WorkspaceRegion &_wr) const noexcept
Find shared facets with another workspace region.
Definition: WorkspaceRegion.cpp:198
const std::vector< Point3d > GetPoints() const noexcept
Get a list of all points in this region.
Definition: WorkspaceRegion.cpp:130
WorkspaceRegion & operator=(const WorkspaceRegion &)
Copy.
Definition: WorkspaceRegion.cpp:50
const Point3d & GetPoint(const size_t _i) const noexcept
Get the _i'th point of this region.
Definition: WorkspaceRegion.cpp:123
const Point3d FindCenter() const noexcept
Find the center of this region.
Definition: WorkspaceRegion.cpp:165
void SetDecomposition(WorkspaceDecomposition *const _wd)
Definition: WorkspaceRegion.cpp:37
bool operator==(const WorkspaceRegion &_region) const noexcept
Definition: WorkspaceRegion.cpp:70
const size_t GetNumPoints() const noexcept
Get the number of points in the region.
Definition: WorkspaceRegion.cpp:109
void AddPoint(const size_t _i)
Definition: WorkspaceRegion.cpp:87