35 explicit Surface(
const std::vector<Point*>& pnt_vec);
48 void addTriangle(std::size_t pnt_a, std::size_t pnt_b, std::size_t pnt_c);
Definition of the AABB class.
Definition of the Point class.
Base class for classes Point, Polyline, Surface.
Class AABB is an axis aligned bounding box around a given set of geometric points of (template) type ...
A Surface is represented by Triangles. It consists of a reference to a vector of (pointers to) points...
Surface & operator=(Surface &&src)=delete
std::unique_ptr< AABB > _bounding_volume
AABB const & getAABB() const
std::unique_ptr< SurfaceGrid > _surface_grid
const Triangle * operator[](std::size_t i) const
const access operator for the access to the i-th Triangle of the surface.
const std::vector< Point * > & _sfc_pnts
std::vector< Triangle * > _sfc_triangles
GEOTYPE getGeoType() const override
return a geometry type
std::size_t getNumberOfTriangles() const
void addTriangle(std::size_t pnt_a, std::size_t pnt_b, std::size_t pnt_c)
bool isPntInBoundingVolume(MathLib::Point3d const &pnt, double eps) const
const std::vector< Point * > * getPointVec() const
Surface(Surface &&src)=delete
Surface(const std::vector< Point * > &pnt_vec)
bool isPntInSfc(MathLib::Point3d const &pnt, double eps) const
Surface & operator=(Surface const &src)=delete
Class Triangle consists of a reference to a point vector and a vector that stores the indices in the ...
void markUsedPoints(Polyline const &polyline, std::vector< bool > &used_points)
Resets the point IDs of the polyline corresponding to the mapping.
void resetPointIDs(Polyline &polyline, std::vector< std::size_t > const &mapping)
Resets the point IDs of the polyline corresponding to the mapping.
bool operator==(LineSegment const &s0, LineSegment const &s1)