Version: 9.16.0
StdMeshers::Cartesian3D::Grid Class Reference

#include <StdMeshers_Cartesian_3D_Grid.hxx>

Public Member Functions

size_t CellIndex (size_t i, size_t j, size_t k) const
 
size_t NodeIndex (size_t i, size_t j, size_t k) const
 
size_t NodeIndex (const TIJK &ijk) const
 
size_t NodeIndexDX () const
 
size_t NodeIndexDY () const
 
size_t NodeIndexDZ () const
 
LineIndexer GetLineIndexer (size_t iDir) const
 
size_t GetLineDir (const GridLine *line, size_t &index) const
 
E_IntersectPointAdd (const E_IntersectPoint &ip)
 
void Remove (E_IntersectPoint *eip)
 
TGeomID ShapeID (const TopoDS_Shape &s) const
 
const TopoDS_Shape & Shape (TGeomID id) const
 
TopAbs_ShapeEnum ShapeType (TGeomID id) const
 
void InitGeometry (const TopoDS_Shape &theShape)
 
void InitClassifier (const TopoDS_Shape &mainShape, TopAbs_ShapeEnum shapeType, SMESH::Controls::ElementsOnShape &classifier)
 
void GetEdgesToImplement (std::map< TGeomID, std::vector< TGeomID > > &edge2faceMap, const TopoDS_Shape &shape, const std::vector< TopoDS_Shape > &faces)
 
void SetSolidFather (const TopoDS_Shape &s, const TopoDS_Shape &theShapeToMesh)
 
bool IsShared (TGeomID faceID) const
 
bool IsAnyShared (const std::vector< TGeomID > &faceIDs) const
 
bool IsInternal (TGeomID faceID) const
 
bool IsSolid (TGeomID shapeID) const
 
bool IsStrangeEdge (TGeomID id) const
 
TGeomID PseudoIntExtFaceID () const
 
SolidGetSolid (TGeomID solidID=0)
 
SolidGetOneOfSolids (TGeomID solidID)
 
const std::vector< TGeomID > & GetSolidIDs (TGeomID subShapeID) const
 
bool IsCorrectTransition (TGeomID faceID, const Solid *solid)
 
bool IsBoundaryFace (TGeomID face) const
 
void SetOnShape (const SMDS_MeshNode *n, const F_IntersectPoint &ip, TopoDS_Vertex *vertex=nullptr, bool unset=false)
 
void UpdateFacesOfVertex (const B_IntersectPoint &ip, const TopoDS_Vertex &vertex)
 
bool IsToCheckNodePos () const
 
bool IsToRemoveExcessEntities () const
 
void SetCoordinates (const std::vector< double > &xCoords, const std::vector< double > &yCoords, const std::vector< double > &zCoords, const double *axesDirs, const Bnd_Box &bndBox)
 
void ComputeUVW (const gp_XYZ &p, double uvw[3])
 
void ComputeNodes (SMESH_MesherHelper &helper)
 
bool GridInitAndInterserctWithShape (const TopoDS_Shape &theShape, std::map< TGeomID, std::vector< TGeomID > > &edge2faceIDsMap, const StdMeshers_CartesianParameters3D *hyp, const int numOfThreads, bool computeCanceled)
 

Data Fields

std::vector< double > _coords [3]
 
gp_XYZ _axes [3]
 
std::vector< GridLine_lines [3]
 
double _tol
 
double _minCellSize
 
gp_XYZ _origin
 
gp_Mat _invB
 
int _nodeShift [8]
 
std::vector< const SMDS_MeshNode * > _nodes
 
std::vector< const SMDS_MeshNode * > _allBorderNodes
 
std::vector< const F_IntersectPoint * > _gridIntP
 
ObjectPool< E_IntersectPoint_edgeIntPool
 
ObjectPool< F_IntersectPoint_extIntPool
 
Geometry _geometry
 
bool _toAddEdges
 
bool _toCreateFaces
 
bool _toConsiderInternalFaces
 
bool _toUseThresholdForInternalFaces
 
double _sizeThreshold
 
bool _toUseQuanta
 
double _quanta
 
SMESH_MesherHelper_helper
 

Member Function Documentation

◆ Add()

E_IntersectPoint * StdMeshers::Cartesian3D::Grid::Add ( const E_IntersectPoint ip)

◆ CellIndex()

size_t StdMeshers::Cartesian3D::Grid::CellIndex ( size_t  i,
size_t  j,
size_t  k 
) const

◆ ComputeNodes()

◆ ComputeUVW()

◆ GetEdgesToImplement()

◆ GetLineDir()

size_t Grid::GetLineDir ( const GridLine line,
size_t &  index 
) const

References _lines.

◆ GetLineIndexer()

◆ GetOneOfSolids()

◆ GetSolid()

◆ GetSolidIDs()

◆ GridInitAndInterserctWithShape()

bool Grid::GridInitAndInterserctWithShape ( const TopoDS_Shape &  theShape,
std::map< TGeomID, std::vector< TGeomID > > &  edge2faceIDsMap,
const StdMeshers_CartesianParameters3D hyp,
const int  numOfThreads,
bool  computeCanceled 
)

◆ InitClassifier()

void Grid::InitClassifier ( const TopoDS_Shape &  mainShape,
TopAbs_ShapeEnum  shapeType,
SMESH::Controls::ElementsOnShape classifier 
)

◆ InitGeometry()

◆ IsAnyShared()

bool Grid::IsAnyShared ( const std::vector< TGeomID > &  faceIDs) const

◆ IsBoundaryFace()

bool StdMeshers::Cartesian3D::Grid::IsBoundaryFace ( TGeomID  face) const

◆ IsCorrectTransition()

◆ IsInternal()

◆ IsShared()

◆ IsSolid()

◆ IsStrangeEdge()

bool StdMeshers::Cartesian3D::Grid::IsStrangeEdge ( TGeomID  id) const

◆ IsToCheckNodePos()

bool StdMeshers::Cartesian3D::Grid::IsToCheckNodePos ( ) const

◆ IsToRemoveExcessEntities()

bool StdMeshers::Cartesian3D::Grid::IsToRemoveExcessEntities ( ) const

◆ NodeIndex() [1/2]

size_t StdMeshers::Cartesian3D::Grid::NodeIndex ( const TIJK ijk) const

◆ NodeIndex() [2/2]

◆ NodeIndexDX()

size_t StdMeshers::Cartesian3D::Grid::NodeIndexDX ( ) const

◆ NodeIndexDY()

size_t StdMeshers::Cartesian3D::Grid::NodeIndexDY ( ) const

◆ NodeIndexDZ()

size_t StdMeshers::Cartesian3D::Grid::NodeIndexDZ ( ) const

◆ PseudoIntExtFaceID()

◆ Remove()

void StdMeshers::Cartesian3D::Grid::Remove ( E_IntersectPoint eip)

◆ SetCoordinates()

◆ SetOnShape()

◆ SetSolidFather()

void Grid::SetSolidFather ( const TopoDS_Shape &  s,
const TopoDS_Shape &  theShapeToMesh 
)

◆ Shape()

◆ ShapeID()

◆ ShapeType()

TopAbs_ShapeEnum StdMeshers::Cartesian3D::Grid::ShapeType ( TGeomID  id) const

◆ UpdateFacesOfVertex()

Field Documentation

◆ _allBorderNodes

std::vector< const SMDS_MeshNode* > StdMeshers::Cartesian3D::Grid::_allBorderNodes

◆ _axes

◆ _coords

◆ _edgeIntPool

ObjectPool< E_IntersectPoint > StdMeshers::Cartesian3D::Grid::_edgeIntPool

◆ _extIntPool

ObjectPool< F_IntersectPoint > StdMeshers::Cartesian3D::Grid::_extIntPool

◆ _geometry

◆ _gridIntP

◆ _helper

◆ _invB

gp_Mat StdMeshers::Cartesian3D::Grid::_invB

Referenced by ComputeUVW(), and SetCoordinates().

◆ _lines

◆ _minCellSize

double StdMeshers::Cartesian3D::Grid::_minCellSize

◆ _nodes

◆ _nodeShift

◆ _origin

gp_XYZ StdMeshers::Cartesian3D::Grid::_origin

◆ _quanta

double StdMeshers::Cartesian3D::Grid::_quanta

◆ _sizeThreshold

◆ _toAddEdges

◆ _toConsiderInternalFaces

bool StdMeshers::Cartesian3D::Grid::_toConsiderInternalFaces

◆ _toCreateFaces

◆ _tol

◆ _toUseQuanta

◆ _toUseThresholdForInternalFaces