Open CASCADE Technology 7.8.2.dev
BRepMesh_MeshTool Class Reference

Auxiliary tool providing API for manipulation with BRepMesh_DataStructureOfDelaun. More...

#include <BRepMesh_MeshTool.hxx>

Inheritance diagram for BRepMesh_MeshTool:

Data Structures

class  NodeClassifier
 Helper functor intended to separate points to left and right from the constraint. More...
 

Public Member Functions

 BRepMesh_MeshTool (const Handle< BRepMesh_DataStructureOfDelaun > &theStructure)
 Constructor. Initializes tool by the given data structure.
 
virtual ~BRepMesh_MeshTool ()
 Destructor.
 
const Handle< BRepMesh_DataStructureOfDelaun > & GetStructure () const
 Returns data structure manipulated by this tool.
 
void DumpTriangles (const Standard_CString theFileName, IMeshData::MapOfInteger *theTriangles)
 Dumps triangles to specified file.
 
void AddAndLegalizeTriangle (const Standard_Integer thePoint1, const Standard_Integer thePoint2, const Standard_Integer thePoint3)
 Adds new triangle with specified nodes to mesh. Legalizes triangle in case if it violates circle criteria.
 
void AddTriangle (const Standard_Integer thePoint1, const Standard_Integer thePoint2, const Standard_Integer thePoint3, Standard_Integer(&theEdges)[3])
 Adds new triangle with specified nodes to mesh.
 
void AddLink (const Standard_Integer theFirstNode, const Standard_Integer theLastNode, Standard_Integer &theLinkIndex, Standard_Boolean &theLinkOri)
 Adds new link to mesh. Updates link index and link orientation parameters.
 
void Legalize (const Standard_Integer theLinkIndex)
 Performs legalization of triangles connected to the specified link.
 
void EraseItemsConnectedTo (const Standard_Integer theNodeIndex)
 Erases all elements connected to the specified artificial node. In addition, erases the artificial node itself.
 
void CleanFrontierLinks ()
 Cleans frontier links from triangles to the right.
 
void EraseTriangles (const IMeshData::MapOfInteger &theTriangles, IMeshData::MapOfIntegerInteger &theLoopEdges)
 Erases the given set of triangles. Fills map of loop edges forming the contour surrounding the erased triangles.
 
void EraseTriangle (const Standard_Integer theTriangleIndex, IMeshData::MapOfIntegerInteger &theLoopEdges)
 Erases triangle with the given index and adds the free edges into the map. When an edge is suppressed more than one time it is destroyed.
 
void EraseFreeLinks ()
 Erases all links that have no elements connected to them.
 
void EraseFreeLinks (const IMeshData::MapOfIntegerInteger &theLinks)
 Erases links from the specified map that have no elements connected to them.
 
Handle< IMeshData::MapOfIntegerGetEdgesByType (const BRepMesh_DegreeOfFreedom theEdgeType) const
 Gives the list of edges with type defined by input parameter.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const char * get_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Detailed Description

Auxiliary tool providing API for manipulation with BRepMesh_DataStructureOfDelaun.

Constructor & Destructor Documentation

◆ BRepMesh_MeshTool()

BRepMesh_MeshTool::BRepMesh_MeshTool ( const Handle< BRepMesh_DataStructureOfDelaun > & theStructure)

Constructor. Initializes tool by the given data structure.

◆ ~BRepMesh_MeshTool()

virtual BRepMesh_MeshTool::~BRepMesh_MeshTool ( )
virtual

Destructor.

Member Function Documentation

◆ AddAndLegalizeTriangle()

void BRepMesh_MeshTool::AddAndLegalizeTriangle ( const Standard_Integer thePoint1,
const Standard_Integer thePoint2,
const Standard_Integer thePoint3 )
inline

Adds new triangle with specified nodes to mesh. Legalizes triangle in case if it violates circle criteria.

◆ AddLink()

void BRepMesh_MeshTool::AddLink ( const Standard_Integer theFirstNode,
const Standard_Integer theLastNode,
Standard_Integer & theLinkIndex,
Standard_Boolean & theLinkOri )
inline

Adds new link to mesh. Updates link index and link orientation parameters.

◆ AddTriangle()

void BRepMesh_MeshTool::AddTriangle ( const Standard_Integer thePoint1,
const Standard_Integer thePoint2,
const Standard_Integer thePoint3,
Standard_Integer(&) theEdges[3] )
inline

Adds new triangle with specified nodes to mesh.

◆ CleanFrontierLinks()

void BRepMesh_MeshTool::CleanFrontierLinks ( )

Cleans frontier links from triangles to the right.

◆ DumpTriangles()

void BRepMesh_MeshTool::DumpTriangles ( const Standard_CString theFileName,
IMeshData::MapOfInteger * theTriangles )

Dumps triangles to specified file.

◆ EraseFreeLinks() [1/2]

void BRepMesh_MeshTool::EraseFreeLinks ( )

Erases all links that have no elements connected to them.

◆ EraseFreeLinks() [2/2]

void BRepMesh_MeshTool::EraseFreeLinks ( const IMeshData::MapOfIntegerInteger & theLinks)

Erases links from the specified map that have no elements connected to them.

◆ EraseItemsConnectedTo()

void BRepMesh_MeshTool::EraseItemsConnectedTo ( const Standard_Integer theNodeIndex)

Erases all elements connected to the specified artificial node. In addition, erases the artificial node itself.

◆ EraseTriangle()

void BRepMesh_MeshTool::EraseTriangle ( const Standard_Integer theTriangleIndex,
IMeshData::MapOfIntegerInteger & theLoopEdges )

Erases triangle with the given index and adds the free edges into the map. When an edge is suppressed more than one time it is destroyed.

◆ EraseTriangles()

void BRepMesh_MeshTool::EraseTriangles ( const IMeshData::MapOfInteger & theTriangles,
IMeshData::MapOfIntegerInteger & theLoopEdges )

Erases the given set of triangles. Fills map of loop edges forming the contour surrounding the erased triangles.

◆ GetEdgesByType()

Handle< IMeshData::MapOfInteger > BRepMesh_MeshTool::GetEdgesByType ( const BRepMesh_DegreeOfFreedom theEdgeType) const

Gives the list of edges with type defined by input parameter.

◆ GetStructure()

const Handle< BRepMesh_DataStructureOfDelaun > & BRepMesh_MeshTool::GetStructure ( ) const
inline

Returns data structure manipulated by this tool.

◆ Legalize()

void BRepMesh_MeshTool::Legalize ( const Standard_Integer theLinkIndex)

Performs legalization of triangles connected to the specified link.


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