Version: 8.3.0
VISCOUS_3D::_Simplex Struct Reference

Simplex (triangle or tetrahedron) based on 1 (tria) or 2 (tet) nodes of _LayerEdge and 2 nodes of the mesh surface beening smoothed. More...

Public Member Functions

 _Simplex (const SMDS_MeshNode *nPrev=0, const SMDS_MeshNode *nNext=0, const SMDS_MeshNode *nOpp=0)
 
bool IsForward (const gp_XYZ *pntSrc, const gp_XYZ *pntTgt, double &vol) const
 
bool IsForward (const SMDS_MeshNode *nSrc, const gp_XYZ &pTgt, double &vol) const
 
bool IsForward (const gp_XY &tgtUV, const SMDS_MeshNode *smoothedNode, const TopoDS_Face &face, SMESH_MesherHelper &helper, const double refSign) const
 
bool IsMinAngleOK (const gp_XYZ &pTgt, double &minAngle) const
 
bool IsNeighbour (const _Simplex &other) const
 
bool Includes (const SMDS_MeshNode *node) const
 

Static Public Member Functions

static void GetSimplices (const SMDS_MeshNode *node, vector< _Simplex > &simplices, const set< TGeomID > &ingnoreShapes, const _SolidData *dataToCheckOri=0, const bool toSort=false)
 Fills a vector<_Simplex > More...
 
static void SortSimplices (vector< _Simplex > &simplices)
 Set neighbor simplices side by side. More...
 

Data Fields

const SMDS_MeshNode_nPrev
 
const SMDS_MeshNode_nNext
 
const SMDS_MeshNode_nOpp
 

Detailed Description

Simplex (triangle or tetrahedron) based on 1 (tria) or 2 (tet) nodes of _LayerEdge and 2 nodes of the mesh surface beening smoothed.

The class is used to check validity of face or volumes around a smoothed node; it stores only 2 nodes as the other nodes are stored by _LayerEdge.

Constructor & Destructor Documentation

VISCOUS_3D::_Simplex::_Simplex ( const SMDS_MeshNode nPrev = 0,
const SMDS_MeshNode nNext = 0,
const SMDS_MeshNode nOpp = 0 
)

Referenced by GetSimplices().

Member Function Documentation

bool VISCOUS_3D::_Simplex::Includes ( const SMDS_MeshNode node) const
bool VISCOUS_3D::_Simplex::IsForward ( const gp_XYZ *  pntSrc,
const gp_XYZ *  pntTgt,
double &  vol 
) const
bool VISCOUS_3D::_Simplex::IsForward ( const SMDS_MeshNode nSrc,
const gp_XYZ &  pTgt,
double &  vol 
) const
bool VISCOUS_3D::_Simplex::IsForward ( const gp_XY &  tgtUV,
const SMDS_MeshNode smoothedNode,
const TopoDS_Face &  face,
SMESH_MesherHelper helper,
const double  refSign 
) const
bool VISCOUS_3D::_Simplex::IsMinAngleOK ( const gp_XYZ &  pTgt,
double &  minAngle 
) const
bool VISCOUS_3D::_Simplex::IsNeighbour ( const _Simplex other) const

References _nNext, and _nPrev.

void _Simplex::SortSimplices ( vector< _Simplex > &  simplices)
static

Set neighbor simplices side by side.

References _nNext, and _nPrev.

Referenced by GetSimplices(), and VISCOUS_3D::_SolidData::PrepareEdgesToSmoothOnFace().

Field Documentation

const SMDS_MeshNode* VISCOUS_3D::_Simplex::_nOpp