Open CASCADE Technology 7.9.1
Loading...
Searching...
No Matches
BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo > Class Template Reference

Extends node insertion Delaunay meshing algo in order to control deflection of generated triangles. Splits triangles failing the check. More...

#include <BRepMesh_DelaunayDeflectionControlMeshAlgo.hxx>

Inheritance diagram for BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo >:

Public Member Functions

 BRepMesh_DelaunayDeflectionControlMeshAlgo ()
 Constructor.
virtual ~BRepMesh_DelaunayDeflectionControlMeshAlgo ()
 Destructor.
Public Member Functions inherited from BRepMesh_DelaunayNodeInsertionMeshAlgo< RangeSplitter, BaseAlgo >
 BRepMesh_DelaunayNodeInsertionMeshAlgo ()
 Constructor.
virtual ~BRepMesh_DelaunayNodeInsertionMeshAlgo ()
 Destructor.
Standard_Boolean IsPreProcessSurfaceNodes () const
 Returns PreProcessSurfaceNodes flag.
void SetPreProcessSurfaceNodes (const Standard_Boolean isPreProcessSurfaceNodes)
 Sets PreProcessSurfaceNodes flag. If TRUE, registers surface nodes before generation of base mesh. If FALSE, inserts surface nodes after generation of base mesh.
Public Member Functions inherited from BRepMesh_NodeInsertionMeshAlgo< RangeSplitter, BaseAlgo >
 BRepMesh_NodeInsertionMeshAlgo ()
 Constructor.
virtual ~BRepMesh_NodeInsertionMeshAlgo ()
 Destructor.
virtual void Perform (const IMeshData::IFaceHandle &theDFace, const IMeshTools_Parameters &theParameters, const Message_ProgressRange &theRange) override
 Performs processing of the given face.

Protected Member Functions

virtual void postProcessMesh (BRepMesh_Delaun &theMesher, const Message_ProgressRange &theRange) override
 Performs processing of generated mesh. Generates surface nodes and inserts them into structure.
virtual void optimizeMesh (BRepMesh_Delaun &theMesher, const Message_ProgressRange &theRange)
 Checks deviation of a mesh from geometrical surface. Inserts additional nodes in case of huge deviation.
Protected Member Functions inherited from BRepMesh_DelaunayNodeInsertionMeshAlgo< RangeSplitter, BaseAlgo >
virtual Standard_Boolean initDataStructure () override
 Performs initialization of data structure using existing model data.
virtual std::pair< Standard_Integer, Standard_IntegergetCellsCount (const Standard_Integer theVerticesNb) override
 Returns size of cell to be used by acceleration circles grid structure.
Standard_Boolean insertNodes (const Handle< IMeshData::ListOfPnt2d > &theNodes, BRepMesh_Delaun &theMesher, const Message_ProgressRange &theRange)
 Inserts nodes into mesh.
Protected Member Functions inherited from BRepMesh_NodeInsertionMeshAlgo< RangeSplitter, BaseAlgo >
virtual Standard_Integer addNodeToStructure (const gp_Pnt2d &thePoint, const Standard_Integer theLocation3d, const BRepMesh_DegreeOfFreedom theMovability, const Standard_Boolean isForceAdd) override
 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 override
 Returns 2d point associated to the given vertex.
const RangeSplitter & getRangeSplitter () const
 Returns range splitter.
const Handle< BRepMesh_Classifier > & getClassifier () const
 Returns classifier.

Additional Inherited Members

Protected Types inherited from BRepMesh_NodeInsertionMeshAlgo< RangeSplitter, BaseAlgo >
typedef NCollection_Shared< NCollection_Sequence< const gp_Pnt2d * > > SequenceOfPnt2d

Detailed Description

template<class RangeSplitter, class BaseAlgo>
class BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo >

Extends node insertion Delaunay meshing algo in order to control deflection of generated triangles. Splits triangles failing the check.

Constructor & Destructor Documentation

◆ BRepMesh_DelaunayDeflectionControlMeshAlgo()

template<class RangeSplitter, class BaseAlgo>
BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo >::BRepMesh_DelaunayDeflectionControlMeshAlgo ( )
inline

Constructor.

◆ ~BRepMesh_DelaunayDeflectionControlMeshAlgo()

template<class RangeSplitter, class BaseAlgo>
virtual BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo >::~BRepMesh_DelaunayDeflectionControlMeshAlgo ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ optimizeMesh()

template<class RangeSplitter, class BaseAlgo>
virtual void BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo >::optimizeMesh ( BRepMesh_Delaun & theMesher,
const Message_ProgressRange & theRange )
inlineprotectedvirtual

Checks deviation of a mesh from geometrical surface. Inserts additional nodes in case of huge deviation.

◆ postProcessMesh()

template<class RangeSplitter, class BaseAlgo>
virtual void BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo >::postProcessMesh ( BRepMesh_Delaun & theMesher,
const Message_ProgressRange & theRange )
inlineoverrideprotectedvirtual

Performs processing of generated mesh. Generates surface nodes and inserts them into structure.

Reimplemented from BRepMesh_DelaunayNodeInsertionMeshAlgo< RangeSplitter, BaseAlgo >.


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