Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
BRepMesh_DataStructureOfDelaun Class Reference

Describes the data structure necessary for the mesh algorithms in two dimensions plane or on surface by meshing in UV space. More...

#include <BRepMesh_DataStructureOfDelaun.hxx>

Inheritance diagram for BRepMesh_DataStructureOfDelaun:
Inheritance graph
[legend]

Public Member Functions

 BRepMesh_DataStructureOfDelaun (const occ::handle< NCollection_IncAllocator > &theAllocator, const int theReservedNodeSize=100)
 Constructor.
 
API for accessing mesh nodes.

Returns number of nodes.

int NbNodes () const
 Adds node to the mesh if it is not already in the mesh.
 
int AddNode (const BRepMesh_Vertex &theNode, const bool isForceAdd=false)
 Adds node to the mesh if it is not already in the mesh.
 
int IndexOf (const BRepMesh_Vertex &theNode)
 Finds the index of the given node.
 
const BRepMesh_VertexGetNode (const int theIndex)
 Get node by the index.
 
const BRepMesh_Vertexoperator() (const int theIndex)
 Alias for GetNode.
 
bool SubstituteNode (const int theIndex, const BRepMesh_Vertex &theNewNode)
 Substitutes the node with the given index by new one.
 
void RemoveNode (const int theIndex, const bool isForce=false)
 Removes node from the mesh in case if it has no connected links and its type is Free.
 
const IMeshData::ListOfIntegerLinksConnectedTo (const int theIndex) const
 Get list of links attached to the node with the given index.
 
API for accessing mesh links.

Returns number of links.

int NbLinks () const
 Adds link to the mesh if it is not already in the mesh.
 
int AddLink (const BRepMesh_Edge &theLink)
 Adds link to the mesh if it is not already in the mesh.
 
int IndexOf (const BRepMesh_Edge &theLink) const
 Finds the index of the given link.
 
const BRepMesh_EdgeGetLink (const int theIndex)
 Get link by the index.
 
const IMeshData::MapOfIntegerLinksOfDomain () const
 Returns map of indices of links registered in mesh.
 
bool SubstituteLink (const int theIndex, const BRepMesh_Edge &theNewLink)
 Substitutes the link with the given index by new one.
 
void RemoveLink (const int theIndex, const bool isForce=false)
 Removes link from the mesh in case if it has no connected elements and its type is Free.
 
const BRepMesh_PairOfIndexElementsConnectedTo (const int theLinkIndex) const
 Returns indices of elements connected to the link with the given index.
 
API for accessing mesh elements.

Returns number of links.

int NbElements () const
 Adds element to the mesh if it is not already in the mesh.
 
int AddElement (const BRepMesh_Triangle &theElement)
 Adds element to the mesh if it is not already in the mesh.
 
const BRepMesh_TriangleGetElement (const int theIndex)
 Get element by the index.
 
const IMeshData::MapOfIntegerElementsOfDomain () const
 Returns map of indices of elements registered in mesh.
 
bool SubstituteElement (const int theIndex, const BRepMesh_Triangle &theNewElement)
 Substitutes the element with the given index by new one.
 
void RemoveElement (const int theIndex)
 Removes element from the mesh.
 
void ElementNodes (const BRepMesh_Triangle &theElement, int(&theNodes)[3])
 Returns indices of nodes forming the given element.
 
void Dump (const char *theFileNameStr)
 Adds element to the mesh if it is not already in the mesh.
 
- 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.
 

Auxiliary API

Returns memory allocator used by the structure.

const occ::handle< NCollection_IncAllocator > & Allocator () const
 Gives the data structure for initialization of cell size and tolerance.
 
const occ::handle< BRepMesh_VertexTool > & Data ()
 Gives the data structure for initialization of cell size and tolerance.
 
void ClearDomain ()
 Removes all elements.
 
void ClearDeleted ()
 Substitutes deleted items by the last one from corresponding map to have only non-deleted elements, links or nodes in the structure.
 

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

Describes the data structure necessary for the mesh algorithms in two dimensions plane or on surface by meshing in UV space.

Constructor & Destructor Documentation

◆ BRepMesh_DataStructureOfDelaun()

BRepMesh_DataStructureOfDelaun::BRepMesh_DataStructureOfDelaun ( const occ::handle< NCollection_IncAllocator > & theAllocator,
const int theReservedNodeSize = 100 )

Constructor.

Parameters
theAllocatormemory allocator to be used by internal structures.
theReservedNodeSizepresumed number of nodes in this mesh.

Member Function Documentation

◆ AddElement()

int BRepMesh_DataStructureOfDelaun::AddElement ( const BRepMesh_Triangle & theElement)

Adds element to the mesh if it is not already in the mesh.

Parameters
theElementelement to be added to the mesh.
Returns
index of the element in the structure.

◆ AddLink()

int BRepMesh_DataStructureOfDelaun::AddLink ( const BRepMesh_Edge & theLink)

Adds link to the mesh if it is not already in the mesh.

Parameters
theLinklink to be added to the mesh.
Returns
index of the link in the structure.

◆ AddNode()

int BRepMesh_DataStructureOfDelaun::AddNode ( const BRepMesh_Vertex & theNode,
const bool isForceAdd = false )

Adds node to the mesh if it is not already in the mesh.

Parameters
theNodenode to be added to the mesh.
isForceAddadds the given node to structure without checking on coincidence with other nodes.
Returns
index of the node in the structure.

◆ Allocator()

const occ::handle< NCollection_IncAllocator > & BRepMesh_DataStructureOfDelaun::Allocator ( ) const
inline

Gives the data structure for initialization of cell size and tolerance.

◆ ClearDeleted()

void BRepMesh_DataStructureOfDelaun::ClearDeleted ( )
inline

Substitutes deleted items by the last one from corresponding map to have only non-deleted elements, links or nodes in the structure.

◆ ClearDomain()

void BRepMesh_DataStructureOfDelaun::ClearDomain ( )

Removes all elements.

◆ Data()

const occ::handle< BRepMesh_VertexTool > & BRepMesh_DataStructureOfDelaun::Data ( )
inline

Gives the data structure for initialization of cell size and tolerance.

◆ Dump()

void BRepMesh_DataStructureOfDelaun::Dump ( const char * theFileNameStr)

Adds element to the mesh if it is not already in the mesh.

Parameters
theElementelement to be added to the mesh.
Returns
index of the element in the structure.

◆ ElementNodes()

void BRepMesh_DataStructureOfDelaun::ElementNodes ( const BRepMesh_Triangle & theElement,
int(&) theNodes[3] )

Returns indices of nodes forming the given element.

Parameters
theElementelement which nodes should be retrieved.
[out]theNodesnodes of the given element.

◆ ElementsConnectedTo()

const BRepMesh_PairOfIndex & BRepMesh_DataStructureOfDelaun::ElementsConnectedTo ( const int theLinkIndex) const
inline

Returns indices of elements connected to the link with the given index.

Parameters
theLinkIndexindex of link whose data should be retrieved.
Returns
indices of elements connected to the link.

◆ ElementsOfDomain()

const IMeshData::MapOfInteger & BRepMesh_DataStructureOfDelaun::ElementsOfDomain ( ) const
inline

Returns map of indices of elements registered in mesh.

◆ GetElement()

const BRepMesh_Triangle & BRepMesh_DataStructureOfDelaun::GetElement ( const int theIndex)
inline

Get element by the index.

Parameters
theIndexindex of an element.
Returns
element with the given index.

◆ GetLink()

const BRepMesh_Edge & BRepMesh_DataStructureOfDelaun::GetLink ( const int theIndex)
inline

Get link by the index.

Parameters
theIndexindex of a link.
Returns
link with the given index.

◆ GetNode()

const BRepMesh_Vertex & BRepMesh_DataStructureOfDelaun::GetNode ( const int theIndex)
inline

Get node by the index.

Parameters
theIndexindex of a node.
Returns
node with the given index.

◆ IndexOf() [1/2]

int BRepMesh_DataStructureOfDelaun::IndexOf ( const BRepMesh_Edge & theLink) const
inline

Finds the index of the given link.

Parameters
theLinklink to find.
Returns
index of the given element of zero if link is not in the mesh.

◆ IndexOf() [2/2]

int BRepMesh_DataStructureOfDelaun::IndexOf ( const BRepMesh_Vertex & theNode)
inline

Finds the index of the given node.

Parameters
theNodenode to find.
Returns
index of the given element of zero if node is not in the mesh.

◆ LinksConnectedTo()

const IMeshData::ListOfInteger & BRepMesh_DataStructureOfDelaun::LinksConnectedTo ( const int theIndex) const
inline

Get list of links attached to the node with the given index.

Parameters
theIndexindex of node whose links should be retrieved.
Returns
list of links attached to the node.

◆ LinksOfDomain()

const IMeshData::MapOfInteger & BRepMesh_DataStructureOfDelaun::LinksOfDomain ( ) const
inline

Returns map of indices of links registered in mesh.

◆ NbElements()

int BRepMesh_DataStructureOfDelaun::NbElements ( ) const
inline

Adds element to the mesh if it is not already in the mesh.

Parameters
theElementelement to be added to the mesh.
Returns
index of the element in the structure.

◆ NbLinks()

int BRepMesh_DataStructureOfDelaun::NbLinks ( ) const
inline

Adds link to the mesh if it is not already in the mesh.

Parameters
theLinklink to be added to the mesh.
Returns
index of the link in the structure.

◆ NbNodes()

int BRepMesh_DataStructureOfDelaun::NbNodes ( ) const
inline

Adds node to the mesh if it is not already in the mesh.

Parameters
theNodenode to be added to the mesh.
isForceAddadds the given node to structure without checking on coincidence with other nodes.
Returns
index of the node in the structure.

◆ operator()()

const BRepMesh_Vertex & BRepMesh_DataStructureOfDelaun::operator() ( const int theIndex)
inline

Alias for GetNode.

◆ RemoveElement()

void BRepMesh_DataStructureOfDelaun::RemoveElement ( const int theIndex)

Removes element from the mesh.

Parameters
theIndexindex of element to be removed.

◆ RemoveLink()

void BRepMesh_DataStructureOfDelaun::RemoveLink ( const int theIndex,
const bool isForce = false )

Removes link from the mesh in case if it has no connected elements and its type is Free.

Parameters
theIndexindex of link to be removed.
isForceif TRUE link will be removed even if movability is not Free.

◆ RemoveNode()

void BRepMesh_DataStructureOfDelaun::RemoveNode ( const int theIndex,
const bool isForce = false )
inline

Removes node from the mesh in case if it has no connected links and its type is Free.

Parameters
theIndexindex of node to be removed.
isForceif TRUE node will be removed even if movability is not Free.

◆ SubstituteElement()

bool BRepMesh_DataStructureOfDelaun::SubstituteElement ( const int theIndex,
const BRepMesh_Triangle & theNewElement )

Substitutes the element with the given index by new one.

Parameters
theIndexindex of element to be substituted.
theNewLinksubstituting element.
Returns
FALSE in case if new element is already in the structure, TRUE elsewhere.

◆ SubstituteLink()

bool BRepMesh_DataStructureOfDelaun::SubstituteLink ( const int theIndex,
const BRepMesh_Edge & theNewLink )

Substitutes the link with the given index by new one.

Parameters
theIndexindex of link to be substituted.
theNewLinksubstituting link.
Returns
FALSE in case if new link is already in the structure, TRUE elsewhere.

◆ SubstituteNode()

bool BRepMesh_DataStructureOfDelaun::SubstituteNode ( const int theIndex,
const BRepMesh_Vertex & theNewNode )

Substitutes the node with the given index by new one.

Parameters
theIndexindex of node to be substituted.
theNewNodesubstituting node.
Returns
FALSE in case if new node is already in the structure, TRUE elsewhere.

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