Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions
BRepMesh_BaseMeshAlgo Class Referenceabstract

Class provides base functionality for algorithms building face triangulation. Performs initialization of BRepMesh_DataStructureOfDelaun and nodes map structures. More...

#include <BRepMesh_BaseMeshAlgo.hxx>

Inheritance diagram for BRepMesh_BaseMeshAlgo:
Inheritance graph
[legend]

Public Types

typedef NCollection_Shared< NCollection_DynamicArray< gp_Pnt > > VectorOfPnt
 
- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Public Member Functions

 BRepMesh_BaseMeshAlgo ()
 Constructor.
 
 ~BRepMesh_BaseMeshAlgo () override
 Destructor.
 
void Perform (const IMeshData::IFaceHandle &theDFace, const IMeshTools_Parameters &theParameters, const Message_ProgressRange &theRange=Message_ProgressRange()) override
 Performs processing of the given face.
 
- Public Member Functions inherited from IMeshTools_MeshAlgo
 ~IMeshTools_MeshAlgo () override=default
 Destructor.
 
- 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.
 

Protected Member Functions

const IMeshData::IFaceHandlegetDFace () const
 Gets discrete face.
 
const IMeshTools_ParametersgetParameters () const
 Gets meshing parameters.
 
const occ::handle< NCollection_IncAllocator > & getAllocator () const
 Gets common allocator.
 
const occ::handle< BRepMesh_DataStructureOfDelaun > & getStructure () const
 Gets mesh structure.
 
const occ::handle< VectorOfPnt > & getNodesMap () const
 Gets 3d nodes map.
 
virtual int registerNode (const gp_Pnt &thePoint, const gp_Pnt2d &thePoint2d, const BRepMesh_DegreeOfFreedom theMovability, const bool isForceAdd)
 Registers the given point in vertex map and adds 2d point to mesh data structure. Returns index of node in the structure.
 
virtual int addNodeToStructure (const gp_Pnt2d &thePoint, const int theLocation3d, const BRepMesh_DegreeOfFreedom theMovability, const bool isForceAdd)
 Adds the given 2d point to mesh data structure. Returns index of node in the structure.
 
virtual gp_Pnt2d getNodePoint2d (const BRepMesh_Vertex &theVertex) const
 Returns 2d point associated to the given vertex.
 
virtual bool initDataStructure ()
 Performs initialization of data structure using existing model data.
 
virtual void generateMesh (const Message_ProgressRange &theRange)=0
 Generates mesh for the contour stored in data structure.
 
- Protected Member Functions inherited from IMeshTools_MeshAlgo
 IMeshTools_MeshAlgo ()
 Constructor.
 

Additional Inherited Members

- 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

Class provides base functionality for algorithms building face triangulation. Performs initialization of BRepMesh_DataStructureOfDelaun and nodes map structures.

Member Typedef Documentation

◆ VectorOfPnt

Constructor & Destructor Documentation

◆ BRepMesh_BaseMeshAlgo()

BRepMesh_BaseMeshAlgo::BRepMesh_BaseMeshAlgo ( )

Constructor.

◆ ~BRepMesh_BaseMeshAlgo()

BRepMesh_BaseMeshAlgo::~BRepMesh_BaseMeshAlgo ( )
override

Destructor.

Member Function Documentation

◆ addNodeToStructure()

virtual int BRepMesh_BaseMeshAlgo::addNodeToStructure ( const gp_Pnt2d & thePoint,
const int theLocation3d,
const BRepMesh_DegreeOfFreedom theMovability,
const bool isForceAdd )
protectedvirtual

Adds the given 2d point to mesh data structure. Returns index of node in the structure.

◆ generateMesh()

virtual void BRepMesh_BaseMeshAlgo::generateMesh ( const Message_ProgressRange & theRange)
protectedpure virtual

Generates mesh for the contour stored in data structure.

Implemented in BRepMesh_CustomBaseMeshAlgo, and BRepMesh_DelaunayBaseMeshAlgo.

◆ getAllocator()

const occ::handle< NCollection_IncAllocator > & BRepMesh_BaseMeshAlgo::getAllocator ( ) const
inlineprotected

Gets common allocator.

◆ getDFace()

const IMeshData::IFaceHandle & BRepMesh_BaseMeshAlgo::getDFace ( ) const
inlineprotected

Gets discrete face.

◆ getNodePoint2d()

virtual gp_Pnt2d BRepMesh_BaseMeshAlgo::getNodePoint2d ( const BRepMesh_Vertex & theVertex) const
protectedvirtual

Returns 2d point associated to the given vertex.

◆ getNodesMap()

const occ::handle< VectorOfPnt > & BRepMesh_BaseMeshAlgo::getNodesMap ( ) const
inlineprotected

Gets 3d nodes map.

◆ getParameters()

const IMeshTools_Parameters & BRepMesh_BaseMeshAlgo::getParameters ( ) const
inlineprotected

Gets meshing parameters.

◆ getStructure()

const occ::handle< BRepMesh_DataStructureOfDelaun > & BRepMesh_BaseMeshAlgo::getStructure ( ) const
inlineprotected

Gets mesh structure.

◆ initDataStructure()

virtual bool BRepMesh_BaseMeshAlgo::initDataStructure ( )
protectedvirtual

Performs initialization of data structure using existing model data.

◆ Perform()

void BRepMesh_BaseMeshAlgo::Perform ( const IMeshData::IFaceHandle & theDFace,
const IMeshTools_Parameters & theParameters,
const Message_ProgressRange & theRange = Message_ProgressRange() )
overridevirtual

Performs processing of the given face.

Implements IMeshTools_MeshAlgo.

◆ registerNode()

virtual int BRepMesh_BaseMeshAlgo::registerNode ( const gp_Pnt & thePoint,
const gp_Pnt2d & thePoint2d,
const BRepMesh_DegreeOfFreedom theMovability,
const bool isForceAdd )
protectedvirtual

Registers the given point in vertex map and adds 2d point to mesh data structure. Returns index of node in the structure.


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