Open CASCADE Technology  7.7.0
Public Member Functions
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. More...
 
 BRepMesh_Delaun (IMeshData::Array1OfVertexOfDelaun &theVertices)
 Creates the triangulation with an empty Mesh data structure. More...
 
 BRepMesh_Delaun (const Handle< BRepMesh_DataStructureOfDelaun > &theOldMesh, IMeshData::Array1OfVertexOfDelaun &theVertices)
 Creates the triangulation with an existent Mesh data structure. More...
 
 BRepMesh_Delaun (const Handle< BRepMesh_DataStructureOfDelaun > &theOldMesh, IMeshData::VectorOfInteger &theVertexIndices)
 Creates the triangulation with an existant Mesh data structure. More...
 
 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. More...
 
void Init (IMeshData::Array1OfVertexOfDelaun &theVertices)
 Initializes the triangulation with an array of vertices. More...
 
void InitCirclesTool (const Standard_Integer theCellsCountU, const Standard_Integer theCellsCountV)
 Forces initialization of circles cell filter using working structure. More...
 
void RemoveVertex (const BRepMesh_Vertex &theVertex)
 Removes a vertex from the triangulation. More...
 
void AddVertices (IMeshData::VectorOfInteger &theVerticesIndices, const Message_ProgressRange &theRange=Message_ProgressRange())
 Adds some vertices into the triangulation. More...
 
Standard_Boolean UseEdge (const Standard_Integer theEdge)
 Modify mesh to use the edge. More...
 
const Handle< BRepMesh_DataStructureOfDelaun > & Result () const
 Gives the Mesh data structure. More...
 
void ProcessConstraints ()
 Forces insertion of constraint edges into the base triangulation. More...
 
Handle< IMeshData::MapOfIntegerFrontier () const
 Gives the list of frontier edges. More...
 
Handle< IMeshData::MapOfIntegerInternalEdges () const
 Gives the list of internal edges. More...
 
Handle< IMeshData::MapOfIntegerFreeEdges () const
 Gives the list of free edges used only one time. More...
 
const BRepMesh_VertexGetVertex (const Standard_Integer theIndex) const
 Gives vertex with the given index. More...
 
const BRepMesh_EdgeGetEdge (const Standard_Integer theIndex) const
 Gives edge with the given index. More...
 
const BRepMesh_TriangleGetTriangle (const Standard_Integer theIndex) const
 Gives triangle with the given index. More...
 
const BRepMesh_CircleToolCircles () const
 Returns tool used to build mesh consistent to Delaunay criteria. More...
 
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. More...
 
void SetAuxVertices (const IMeshData::VectorOfInteger &theSupVert)
 Explicitly sets ids of auxiliary vertices used to build mesh and used by 3rd-party algorithms. More...
 
void RemoveAuxElements ()
 Destruction of auxiliary triangles containing the given vertices. Removes auxiliary vertices also. More...
 

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: