Open CASCADE Technology 7.8.0
Data Structures | Public Member Functions | Protected Member Functions
BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo > Class Template Reference

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

#include <BRepMesh_DelaunayDeflectionControlMeshAlgo.hxx>

Inheritance diagram for BRepMesh_DelaunayDeflectionControlMeshAlgo< RangeSplitter, BaseAlgo >:
Inheritance graph
[legend]

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 RangeSplittergetRangeSplitter () 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 trianges. Splits triangles failing the check.

Constructor & Destructor Documentation

◆ BRepMesh_DelaunayDeflectionControlMeshAlgo()

Constructor.

◆ ~BRepMesh_DelaunayDeflectionControlMeshAlgo()

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: