MeshCore::AbstractPolygonTriangulator Class Referenceabstract

`#include <Triangulation.h>`

## Public Member Functions

AbstractPolygonTriangulator ()

The triangulation algorithm may create new points when calling Triangulate(). More...

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

void Done ()

virtual bool Triangulate ()=0
Computes the triangulation of a polygon. More...

## ◆ AbstractPolygonTriangulator()

 AbstractPolygonTriangulator::AbstractPolygonTriangulator ( )

## ◆ ~AbstractPolygonTriangulator()

 AbstractPolygonTriangulator::~AbstractPolygonTriangulator ( )
virtual

## Member Function Documentation

 std::vector< Base::Vector3f > AbstractPolygonTriangulator::AddedPoints ( ) const

The triangulation algorithm may create new points when calling Triangulate().

This method returns these added points.

Note
: Make sure to have called PostProcessing() before using this method if you want the surface points the new points are lying on.

Referenced by MeshCore::MeshAlgorithm::FillupHole().

virtual

## ◆ Done()

 void AbstractPolygonTriangulator::Done ( )
protected

Referenced by TriangulatePolygon().

## ◆ GetFacets()

 const std::vector< MeshFacet > & MeshCore::AbstractPolygonTriangulator::GetFacets ( ) const

Returns the topologic facets of the polygon.

## ◆ GetInfo()

 std::vector< PointIndex > AbstractPolygonTriangulator::GetInfo ( ) const

Get information about the polygons that were processed.

It returns an array of the number of edges for each closed polygon.

## ◆ GetLength()

 float AbstractPolygonTriangulator::GetLength ( ) const

Returns the length of the polygon.

References Base::Distance().

## ◆ GetPolygon()

 std::vector< Base::Vector3f > AbstractPolygonTriangulator::GetPolygon ( ) const

Get the polygon points to be triangulated.

The points may be projected onto its average plane.

## ◆ GetTransformToFitPlane()

 Base::Matrix4D AbstractPolygonTriangulator::GetTransformToFitPlane ( ) const

Computes the best-fit plane and returns a transformation matrix built out of the axes of the plane.

Referenced by ProjectToFitPlane().

## ◆ GetTriangle()

 MeshGeomFacet AbstractPolygonTriangulator::GetTriangle ( const MeshPointArray & points, const MeshFacet & facet ) const
virtual

Returns the triangle to a given topologic facet.

Referenced by MeshCore::MeshAlgorithm::FillupHole().

## ◆ GetTriangles()

 const std::vector< MeshGeomFacet > & MeshCore::AbstractPolygonTriangulator::GetTriangles ( ) const

Returns the geometric triangles of the polygon.

## ◆ GetVerifier()

 TriangulationVerifier * AbstractPolygonTriangulator::GetVerifier ( ) const

## ◆ NeedsReindexing()

 virtual bool MeshCore::AbstractPolygonTriangulator::NeedsReindexing ( ) const
virtual

Usually the created faces use the indices of the polygon points from [0, n].

If the faces should be appended to an existing mesh they may need to be reindexed from the calling instance. However, there may other algorithms that directly use the indices of the mesh and thus do not need to be touched afterwards. In this case the method should be reimplemented to return false.

## ◆ PostProcessing()

 void AbstractPolygonTriangulator::PostProcessing ( const std::vector< Base::Vector3f > & points )
virtual

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.

Reimplemented in MeshCore::FlatTriangulator.

Referenced by MeshCore::MeshAlgorithm::FillupHole().

## ◆ ProjectToFitPlane()

 std::vector< Base::Vector3f > AbstractPolygonTriangulator::ProjectToFitPlane ( )

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.

References GetTransformToFitPlane().

## ◆ Reset()

 void AbstractPolygonTriangulator::Reset ( )
virtual

Resets some internals.

The default implementation does nothing.

## ◆ SetIndices()

 void MeshCore::AbstractPolygonTriangulator::SetIndices ( const std::vector< PointIndex > & d )

## ◆ SetPolygon()

 void AbstractPolygonTriangulator::SetPolygon ( const std::vector< Base::Vector3f > & raclPoints )

Sets the polygon to be triangulated.

## ◆ SetVerifier()

 void AbstractPolygonTriangulator::SetVerifier ( TriangulationVerifier * v )

Set a verifier object that checks if the generated triangulation can be accepted and added to the mesh kernel.

The triangulator takes ownership of the passed verifier.

Referenced by MeshGui::ViewProviderMesh::fillHole().

## ◆ Triangulate()

 virtual bool MeshCore::AbstractPolygonTriangulator::Triangulate ( )
protectedpure virtual

Computes the triangulation of a polygon.

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

Referenced by TriangulatePolygon().

## ◆ TriangulatePolygon()

 bool AbstractPolygonTriangulator::TriangulatePolygon ( )

Computes the triangulation of a polygon.

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

References Base::Console(), Done(), Base::ConsoleSingleton::Log(), and Triangulate().

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