Open CASCADE Technology 7.8.2.dev
|
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::MapOfInteger > | Frontier () const |
Gives the list of frontier edges. | |
Handle< IMeshData::MapOfInteger > | InternalEdges () const |
Gives the list of internal edges. | |
Handle< IMeshData::MapOfInteger > | FreeEdges () const |
Gives the list of free edges used only one time. | |
const BRepMesh_Vertex & | GetVertex (const Standard_Integer theIndex) const |
Gives vertex with the given index. | |
const BRepMesh_Edge & | GetEdge (const Standard_Integer theIndex) const |
Gives edge with the given index. | |
const BRepMesh_Triangle & | GetTriangle (const Standard_Integer theIndex) const |
Gives triangle with the given index. | |
const BRepMesh_CircleTool & | Circles () 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. | |
Compute the Delaunay's triangulation with the algorithm of Watson.
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::BRepMesh_Delaun | ( | IMeshData::Array1OfVertexOfDelaun & | theVertices | ) |
Creates the triangulation with an empty Mesh data structure.
BRepMesh_Delaun::BRepMesh_Delaun | ( | const Handle< BRepMesh_DataStructureOfDelaun > & | theOldMesh, |
IMeshData::Array1OfVertexOfDelaun & | theVertices ) |
Creates the triangulation with an existent Mesh data structure.
BRepMesh_Delaun::BRepMesh_Delaun | ( | const Handle< BRepMesh_DataStructureOfDelaun > & | theOldMesh, |
IMeshData::VectorOfInteger & | theVertexIndices ) |
Creates the triangulation with an existant Mesh data structure.
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.
void BRepMesh_Delaun::AddVertices | ( | IMeshData::VectorOfInteger & | theVerticesIndices, |
const Message_ProgressRange & | theRange = Message_ProgressRange() ) |
Adds some vertices into the triangulation.
|
inline |
Returns tool used to build mesh consistent to Delaunay criteria.
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.
theSqTolerance | square tolerance to check closeness to some edge |
theEdgeOn | If it is != 0 the vertex lies onto the edge index returned through this parameter. |
|
inline |
Gives the list of free edges used only one time.
|
inline |
Gives the list of frontier edges.
|
inline |
Gives edge with the given index.
|
inline |
Gives triangle with the given index.
|
inline |
Gives vertex with the given index.
void BRepMesh_Delaun::Init | ( | IMeshData::Array1OfVertexOfDelaun & | theVertices | ) |
Initializes the triangulation with an array of vertices.
void BRepMesh_Delaun::InitCirclesTool | ( | const Standard_Integer | theCellsCountU, |
const Standard_Integer | theCellsCountV ) |
Forces initialization of circles cell filter using working structure.
|
inline |
Gives the list of internal edges.
|
inline |
Forces insertion of constraint edges into the base triangulation.
void BRepMesh_Delaun::RemoveAuxElements | ( | ) |
Destruction of auxiliary triangles containing the given vertices. Removes auxiliary vertices also.
theAuxVertices | auxiliary vertices to be cleaned up. |
void BRepMesh_Delaun::RemoveVertex | ( | const BRepMesh_Vertex & | theVertex | ) |
Removes a vertex from the triangulation.
|
inline |
Gives the Mesh data structure.
|
inline |
Explicitly sets ids of auxiliary vertices used to build mesh and used by 3rd-party algorithms.
Standard_Boolean BRepMesh_Delaun::UseEdge | ( | const Standard_Integer | theEdge | ) |
Modify mesh to use the edge.