Open CASCADE Technology 7.8.2.dev
BRepMesh_Delaun Class Reference

Compute the Delaunay's triangulation with the algorithm of Watson. More...

#include <BRepMesh_Delaun.hxx>

Public Member Functions

 BRepMesh_Delaun (const Handle< BRepMesh_DataStructureOfDelaun > &theOldMesh, const Standard_Integer theCellsCountU, const Standard_Integer theCellsCountV, const Standard_Boolean isFillCircles)
 Creates instance of triangulator, but do not run the algorithm automatically.
 
 BRepMesh_Delaun (IMeshData::Array1OfVertexOfDelaun &theVertices)
 Creates the triangulation with an empty Mesh data structure.
 
 BRepMesh_Delaun (const Handle< BRepMesh_DataStructureOfDelaun > &theOldMesh, IMeshData::Array1OfVertexOfDelaun &theVertices)
 Creates the triangulation with an existent Mesh data structure.
 
 BRepMesh_Delaun (const Handle< BRepMesh_DataStructureOfDelaun > &theOldMesh, IMeshData::VectorOfInteger &theVertexIndices)
 Creates the triangulation with an existant Mesh data structure.
 
 BRepMesh_Delaun (const Handle< BRepMesh_DataStructureOfDelaun > &theOldMesh, IMeshData::VectorOfInteger &theVertexIndices, const Standard_Integer theCellsCountU, const Standard_Integer theCellsCountV)
 Creates the triangulation with an existant Mesh data structure.
 
void Init (IMeshData::Array1OfVertexOfDelaun &theVertices)
 Initializes the triangulation with an array of vertices.
 
void InitCirclesTool (const Standard_Integer theCellsCountU, const Standard_Integer theCellsCountV)
 Forces initialization of circles cell filter using working structure.
 
void RemoveVertex (const BRepMesh_Vertex &theVertex)
 Removes a vertex from the triangulation.
 
void AddVertices (IMeshData::VectorOfInteger &theVerticesIndices, const Message_ProgressRange &theRange=Message_ProgressRange())
 Adds some vertices into the triangulation.
 
Standard_Boolean UseEdge (const Standard_Integer theEdge)
 Modify mesh to use the edge.
 
const Handle< BRepMesh_DataStructureOfDelaun > & Result () const
 Gives the Mesh data structure.
 
void ProcessConstraints ()
 Forces insertion of constraint edges into the base triangulation.
 
Handle< IMeshData::MapOfIntegerFrontier () const
 Gives the list of frontier edges.
 
Handle< IMeshData::MapOfIntegerInternalEdges () const
 Gives the list of internal edges.
 
Handle< IMeshData::MapOfIntegerFreeEdges () const
 Gives the list of free edges used only one time.
 
const BRepMesh_VertexGetVertex (const Standard_Integer theIndex) const
 Gives vertex with the given index.
 
const BRepMesh_EdgeGetEdge (const Standard_Integer theIndex) const
 Gives edge with the given index.
 
const BRepMesh_TriangleGetTriangle (const Standard_Integer theIndex) const
 Gives triangle with the given index.
 
const BRepMesh_CircleToolCircles () const
 Returns tool used to build mesh consistent to Delaunay criteria.
 
Standard_Boolean Contains (const Standard_Integer theTriangleId, const BRepMesh_Vertex &theVertex, const Standard_Real theSqTolerance, Standard_Integer &theEdgeOn) const
 Test is the given triangle contains the given vertex.
 
void SetAuxVertices (const IMeshData::VectorOfInteger &theSupVert)
 Explicitly sets ids of auxiliary vertices used to build mesh and used by 3rd-party algorithms.
 
void RemoveAuxElements ()
 Destruction of auxiliary triangles containing the given vertices. Removes auxiliary vertices also.
 

Detailed Description

Compute the Delaunay's triangulation with the algorithm of Watson.

Constructor & Destructor Documentation

◆ BRepMesh_Delaun() [1/5]

BRepMesh_Delaun::BRepMesh_Delaun ( const Handle< BRepMesh_DataStructureOfDelaun > & theOldMesh,
const Standard_Integer theCellsCountU,
const Standard_Integer theCellsCountV,
const Standard_Boolean isFillCircles )

Creates instance of triangulator, but do not run the algorithm automatically.

◆ BRepMesh_Delaun() [2/5]

BRepMesh_Delaun::BRepMesh_Delaun ( IMeshData::Array1OfVertexOfDelaun & theVertices)

Creates the triangulation with an empty Mesh data structure.

◆ BRepMesh_Delaun() [3/5]

BRepMesh_Delaun::BRepMesh_Delaun ( const Handle< BRepMesh_DataStructureOfDelaun > & theOldMesh,
IMeshData::Array1OfVertexOfDelaun & theVertices )

Creates the triangulation with an existent Mesh data structure.

◆ BRepMesh_Delaun() [4/5]

BRepMesh_Delaun::BRepMesh_Delaun ( const Handle< BRepMesh_DataStructureOfDelaun > & theOldMesh,
IMeshData::VectorOfInteger & theVertexIndices )

Creates the triangulation with an existant Mesh data structure.

◆ BRepMesh_Delaun() [5/5]

BRepMesh_Delaun::BRepMesh_Delaun ( const Handle< BRepMesh_DataStructureOfDelaun > & theOldMesh,
IMeshData::VectorOfInteger & theVertexIndices,
const Standard_Integer theCellsCountU,
const Standard_Integer theCellsCountV )

Creates the triangulation with an existant Mesh data structure.

Member Function Documentation

◆ AddVertices()

void BRepMesh_Delaun::AddVertices ( IMeshData::VectorOfInteger & theVerticesIndices,
const Message_ProgressRange & theRange = Message_ProgressRange() )

Adds some vertices into the triangulation.

◆ Circles()

const BRepMesh_CircleTool & BRepMesh_Delaun::Circles ( ) const
inline

Returns tool used to build mesh consistent to Delaunay criteria.

◆ Contains()

Standard_Boolean BRepMesh_Delaun::Contains ( const Standard_Integer theTriangleId,
const BRepMesh_Vertex & theVertex,
const Standard_Real theSqTolerance,
Standard_Integer & theEdgeOn ) const

Test is the given triangle contains the given vertex.

Parameters
theSqTolerancesquare tolerance to check closeness to some edge
theEdgeOnIf it is != 0 the vertex lies onto the edge index returned through this parameter.

◆ FreeEdges()

Handle< IMeshData::MapOfInteger > BRepMesh_Delaun::FreeEdges ( ) const
inline

Gives the list of free edges used only one time.

◆ Frontier()

Handle< IMeshData::MapOfInteger > BRepMesh_Delaun::Frontier ( ) const
inline

Gives the list of frontier edges.

◆ GetEdge()

const BRepMesh_Edge & BRepMesh_Delaun::GetEdge ( const Standard_Integer theIndex) const
inline

Gives edge with the given index.

◆ GetTriangle()

const BRepMesh_Triangle & BRepMesh_Delaun::GetTriangle ( const Standard_Integer theIndex) const
inline

Gives triangle with the given index.

◆ GetVertex()

const BRepMesh_Vertex & BRepMesh_Delaun::GetVertex ( const Standard_Integer theIndex) const
inline

Gives vertex with the given index.

◆ Init()

void BRepMesh_Delaun::Init ( IMeshData::Array1OfVertexOfDelaun & theVertices)

Initializes the triangulation with an array of vertices.

◆ InitCirclesTool()

void BRepMesh_Delaun::InitCirclesTool ( const Standard_Integer theCellsCountU,
const Standard_Integer theCellsCountV )

Forces initialization of circles cell filter using working structure.

◆ InternalEdges()

Handle< IMeshData::MapOfInteger > BRepMesh_Delaun::InternalEdges ( ) const
inline

Gives the list of internal edges.

◆ ProcessConstraints()

void BRepMesh_Delaun::ProcessConstraints ( )
inline

Forces insertion of constraint edges into the base triangulation.

◆ RemoveAuxElements()

void BRepMesh_Delaun::RemoveAuxElements ( )

Destruction of auxiliary triangles containing the given vertices. Removes auxiliary vertices also.

Parameters
theAuxVerticesauxiliary vertices to be cleaned up.

◆ RemoveVertex()

void BRepMesh_Delaun::RemoveVertex ( const BRepMesh_Vertex & theVertex)

Removes a vertex from the triangulation.

◆ Result()

const Handle< BRepMesh_DataStructureOfDelaun > & BRepMesh_Delaun::Result ( ) const
inline

Gives the Mesh data structure.

◆ SetAuxVertices()

void BRepMesh_Delaun::SetAuxVertices ( const IMeshData::VectorOfInteger & theSupVert)
inline

Explicitly sets ids of auxiliary vertices used to build mesh and used by 3rd-party algorithms.

◆ UseEdge()

Standard_Boolean BRepMesh_Delaun::UseEdge ( const Standard_Integer theEdge)

Modify mesh to use the edge.

Returns
True if done

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