MeshCore::EarClippingTriangulator Class Reference

The EarClippingTriangulator embeds an efficient algorithm to triangulate polygons taken from http://www.flipcode.com/files/code/triangulate.cpp. More...

#include <Triangulation.h>

Public Member Functions

 EarClippingTriangulator ()
 
 ~EarClippingTriangulator ()
 
- Public Member Functions inherited from MeshCore::AbstractPolygonTriangulator
 AbstractPolygonTriangulator ()
 
std::vector< Base::Vector3fAddedPoints () const
 The triangulation algorithm may create new points when calling Triangulate(). More...
 
virtual void Discard ()
 
const std::vector< MeshFacet > & GetFacets () const
 Returns the topologic facets of the polygon. More...
 
std::vector< PointIndexGetInfo () const
 Get information about the polygons that were processed. More...
 
float GetLength () const
 Returns the length of the polygon. More...
 
std::vector< Base::Vector3fGetPolygon () const
 Get the polygon points to be triangulated. More...
 
Base::Matrix4D GetTransformToFitPlane () const
 Computes the best-fit plane and returns a transformation matrix built out of the axes of the plane. More...
 
virtual MeshGeomFacet GetTriangle (const MeshPointArray &, const MeshFacet &) const
 Returns the triangle to a given topologic facet. More...
 
const std::vector< MeshGeomFacet > & GetTriangles () const
 Returns the geometric triangles of the polygon. More...
 
TriangulationVerifierGetVerifier () const
 
virtual bool NeedsReindexing () const
 Usually the created faces use the indices of the polygon points from [0, n]. More...
 
virtual void PostProcessing (const std::vector< Base::Vector3f > &)
 If points were added then we get the 3D points by projecting the added 2D points onto a surface which fits into the given points. More...
 
std::vector< Base::Vector3fProjectToFitPlane ()
 If the points of the polygon set by SetPolygon() doesn't lie in a plane this method can be used to project the points in a common plane. More...
 
virtual void Reset ()
 Resets some internals. More...
 
void SetIndices (const std::vector< PointIndex > &d)
 
void SetPolygon (const std::vector< Base::Vector3f > &raclPoints)
 Sets the polygon to be triangulated. More...
 
void SetVerifier (TriangulationVerifier *v)
 Set a verifier object that checks if the generated triangulation can be accepted and added to the mesh kernel. More...
 
bool TriangulatePolygon ()
 Computes the triangulation of a polygon. More...
 
virtual ~AbstractPolygonTriangulator ()
 

Protected Member Functions

bool Triangulate ()
 Computes the triangulation of a polygon. More...
 
- Protected Member Functions inherited from MeshCore::AbstractPolygonTriangulator
void Done ()
 
virtual bool Triangulate ()=0
 Computes the triangulation of a polygon. More...
 

Detailed Description

The EarClippingTriangulator embeds an efficient algorithm to triangulate polygons taken from http://www.flipcode.com/files/code/triangulate.cpp.

Constructor & Destructor Documentation

◆ EarClippingTriangulator()

EarClippingTriangulator::EarClippingTriangulator ( )

◆ ~EarClippingTriangulator()

EarClippingTriangulator::~EarClippingTriangulator ( )

Member Function Documentation

◆ Triangulate()

bool EarClippingTriangulator::Triangulate ( )
protectedvirtual

Computes the triangulation of a polygon.

The resulting facets can be accessed by GetTriangles() or GetFacets().

Implements MeshCore::AbstractPolygonTriangulator.

Reimplemented in MeshCore::QuasiDelaunayTriangulator.

References MeshCore::AbstractPolygonTriangulator::ProjectToFitPlane().

Referenced by MeshCore::QuasiDelaunayTriangulator::Triangulate().


The documentation for this class was generated from the following files: