Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Public Member Functions
BRepMesh_MeshTool Class Reference

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

#include <BRepMesh_MeshTool.hxx>

Inheritance diagram for BRepMesh_MeshTool:
Inheritance graph
[legend]

Data Structures

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

Public Member Functions

 BRepMesh_MeshTool (const occ::handle< BRepMesh_DataStructureOfDelaun > &theStructure)
 Constructor. Initializes tool by the given data structure.
 
 ~BRepMesh_MeshTool () override
 Destructor.
 
const occ::handle< BRepMesh_DataStructureOfDelaun > & GetStructure () const
 Returns data structure manipulated by this tool.
 
void DumpTriangles (const char *const theFileName, IMeshData::MapOfInteger *theTriangles)
 Dumps triangles to specified file.
 
void AddAndLegalizeTriangle (const int thePoint1, const int thePoint2, const int thePoint3)
 Adds new triangle with specified nodes to mesh. Legalizes triangle in case if it violates circle criteria.
 
void AddTriangle (const int thePoint1, const int thePoint2, const int thePoint3, int(&theEdges)[3])
 Adds new triangle with specified nodes to mesh.
 
void AddLink (const int theFirstNode, const int theLastNode, int &theLinkIndex, bool &theLinkOri)
 Adds new link to mesh. Updates link index and link orientation parameters.
 
void Legalize (const int theLinkIndex)
 Performs legalization of triangles connected to the specified link.
 
void EraseItemsConnectedTo (const int 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 int 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 ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool 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.
 
bool IsKind (const char *const 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.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
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 charget_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 occ::handle< BRepMesh_DataStructureOfDelaun > & theStructure)

Constructor. Initializes tool by the given data structure.

◆ ~BRepMesh_MeshTool()

BRepMesh_MeshTool::~BRepMesh_MeshTool ( )
override

Destructor.

Member Function Documentation

◆ AddAndLegalizeTriangle()

void BRepMesh_MeshTool::AddAndLegalizeTriangle ( const int thePoint1,
const int thePoint2,
const int 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 int theFirstNode,
const int theLastNode,
int & theLinkIndex,
bool & theLinkOri )
inline

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

◆ AddTriangle()

void BRepMesh_MeshTool::AddTriangle ( const int thePoint1,
const int thePoint2,
const int thePoint3,
int(&) 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 char *const 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 int theNodeIndex)

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

◆ EraseTriangle()

void BRepMesh_MeshTool::EraseTriangle ( const int 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 occ::handle< BRepMesh_DataStructureOfDelaun > & BRepMesh_MeshTool::GetStructure ( ) const
inline

Returns data structure manipulated by this tool.

◆ Legalize()

void BRepMesh_MeshTool::Legalize ( const int theLinkIndex)

Performs legalization of triangles connected to the specified link.


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