Classes | |
struct | _2NearEdges |
struct | _CentralCurveOnEdge |
Container of centers of curvature at nodes on an EDGE bounding _ConvexFace. More... | |
struct | _ConvexFace |
Convex FACE whose radius of curvature is less than the thickness of layers. It is used to detect distortion of prisms based on a convex FACE and to update normals to enable further increasing the thickness. More... | |
struct | _Curvature |
struct | _EdgesOnShape |
_LayerEdge's on a shape and other shape data More... | |
struct | _halfPlane |
struct | _LayerEdge |
Edge normal to surface, connecting a node on solid surface (_nodes[0]) and a node of the most internal layer (_nodes.back()) More... | |
struct | _LayerEdgeCmp |
struct | _MeshOfSolid |
SMESH_ProxyMesh computed by _ViscousBuilder for a SOLID. It is stored in a SMESH_subMesh of the SOLID as SMESH_subMeshEventListenerData. More... | |
struct | _NodeCoordHelper |
Retriever of node coordinates either directly or from a surface by node UV. More... | |
class | _Shrinker1D |
Shrinker of nodes on the EDGE. More... | |
class | _ShrinkShapeListener |
Listener of events of 3D sub-meshes computed with viscous layers. It is used to clear an inferior dim sub-meshes modified by viscous layers. More... | |
struct | _Simplex |
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. More... | |
struct | _SmoothNode |
Data of node on a shrinked FACE. More... | |
struct | _SolidData |
Data of a SOLID. More... | |
struct | _TmpMeshFace |
Class of temporary mesh face. We can't use SMDS_FaceOfNodes since it's impossible to set it's ID which is needed because SMESH_ElementSearcher internaly uses set of elements sorted by ID. More... | |
struct | _TmpMeshFaceOnEdge |
Class of temporary mesh face storing _LayerEdge it's based on. More... | |
class | _ViscousBuilder |
Builder of viscous layers. More... | |
class | _ViscousListener |
Listener of events of 3D sub-meshes computed with viscous layers. It is used to store data computed by _ViscousBuilder for a sub-mesh and to delete the data as soon as it has been used. More... | |
struct | AverageHyp |
Layers parameters got by averaging several hypotheses. More... | |
struct | PyDump |
Typedefs | |
typedef int | TGeomID |
typedef map< const SMDS_MeshNode *, _LayerEdge *, TIDCompare > | TNode2Edge |
Enumerations | |
enum | UIndex { U_TGT = 1, U_SRC, LEN_TGT } |
Functions | |
bool | getConcaveVertices (const TopoDS_Face &F, SMESH_MesherHelper &helper, set< TGeomID > *vertices=0) |
Finds concave VERTEXes of a FACE. More... | |
bool | getDistFromEdge (const SMDS_MeshElement *face, const SMDS_MeshNode *nodeOnEdge, double &faceSize) |
Computes mimimal distance of face in-FACE nodes from an EDGE. More... | |
gp_XYZ | getEdgeDir (const TopoDS_Edge &E, const SMDS_MeshNode *atNode, SMESH_MesherHelper &helper) |
gp_XYZ | getEdgeDir (const TopoDS_Edge &E, const TopoDS_Vertex &fromV) |
gp_XYZ | getFaceDir (const TopoDS_Face &F, const TopoDS_Edge &fromE, const SMDS_MeshNode *node, SMESH_MesherHelper &helper, bool &ok) |
gp_XYZ | getFaceDir (const TopoDS_Face &F, const TopoDS_Vertex &fromV, const SMDS_MeshNode *node, SMESH_MesherHelper &helper, bool &ok, double *cosin=0) |
bool | getRovolutionAxis (const Adaptor3d_Surface &surface, gp_Dir &axis) |
Return direction of axis or revolution of a surface. More... | |
bool | isConcave (const TopoDS_Face &F, SMESH_MesherHelper &helper, set< TGeomID > *vertices=0) |
Returns true if a FACE is bound by a concave EDGE. More... | |
bool | needSmoothing (double cosin, double tgtThick, double elemSize) |
void | ToClearSubWithMain (SMESH_subMesh *sub, const TopoDS_Shape &main) |
sets a sub-mesh event listener to clear sub-meshes of sub-shapes of the main shape when sub-mesh of the main shape is cleared, for example to clear sub-meshes of FACEs when sub-mesh of a SOLID is cleared More... | |
Variables | |
const double | theMinSmoothCosin = 0.1 |
const double | theSmoothThickToElemSizeRatio = 0.3 |
const double | theThickToIntersection = 1.5 |
Typedef Documentation
◆ TGeomID
typedef int VISCOUS_3D::TGeomID |
◆ TNode2Edge
typedef map< const SMDS_MeshNode*, _LayerEdge*, TIDCompare > VISCOUS_3D::TNode2Edge |
Enumeration Type Documentation
◆ UIndex
enum VISCOUS_3D::UIndex |
Function Documentation
◆ getConcaveVertices()
bool VISCOUS_3D::getConcaveVertices | ( | const TopoDS_Face & | F, |
SMESH_MesherHelper & | helper, | ||
set< TGeomID > * | vertices = 0 |
||
) |
Finds concave VERTEXes of a FACE.
References SMESH_MesherHelper::GetAngle(), getConcaveVertices(), StdMeshers_FaceSide::GetFaceWires(), SMESH_MesherHelper::GetMesh(), SMESH_MesherHelper::GetMeshDS(), SMESH_Algo::isDegenerated(), and SMESHDS_Mesh::ShapeToIndex().
Referenced by getConcaveVertices(), and isConcave().
◆ getDistFromEdge()
bool VISCOUS_3D::getDistFromEdge | ( | const SMDS_MeshElement * | face, |
const SMDS_MeshNode * | nodeOnEdge, | ||
double & | faceSize | ||
) |
Computes mimimal distance of face in-FACE nodes from an EDGE.
- Parameters
-
[in] face - the mesh face to treat [in] nodeOnEdge - a node on the EDGE [out] faceSize - the computed distance
- Returns
- bool - true if faceSize computed
References SMESH_Hypothesis::GetDim(), getDistFromEdge(), SMESHDS_Hypothesis::GetID(), SMDS_MeshElement::GetID(), SMDS_MeshElement::GetNode(), and SMESH_MesherHelper::WrapIndex().
Referenced by getDistFromEdge().
◆ getEdgeDir() [1/2]
gp_XYZ VISCOUS_3D::getEdgeDir | ( | const TopoDS_Edge & | E, |
const SMDS_MeshNode * | atNode, | ||
SMESH_MesherHelper & | helper | ||
) |
References getEdgeDir(), and SMESH_MesherHelper::GetNodeU().
◆ getEdgeDir() [2/2]
gp_XYZ VISCOUS_3D::getEdgeDir | ( | const TopoDS_Edge & | E, |
const TopoDS_Vertex & | fromV | ||
) |
References getEdgeDir().
Referenced by getEdgeDir(), getFaceDir(), and VISCOUS_3D::_LayerEdge::SetDataByNeighbors().
◆ getFaceDir() [1/2]
gp_XYZ VISCOUS_3D::getFaceDir | ( | const TopoDS_Face & | F, |
const TopoDS_Edge & | fromE, | ||
const SMDS_MeshNode * | node, | ||
SMESH_MesherHelper & | helper, | ||
bool & | ok | ||
) |
◆ getFaceDir() [2/2]
gp_XYZ VISCOUS_3D::getFaceDir | ( | const TopoDS_Face & | F, |
const TopoDS_Vertex & | fromV, | ||
const SMDS_MeshNode * | node, | ||
SMESH_MesherHelper & | helper, | ||
bool & | ok, | ||
double * | cosin = 0 |
||
) |
References SMESH_MesherHelper::GetAngle(), getEdgeDir(), getFaceDir(), and SMESH_Algo::isDegenerated().
Referenced by getFaceDir().
◆ getRovolutionAxis()
bool VISCOUS_3D::getRovolutionAxis | ( | const Adaptor3d_Surface & | surface, |
gp_Dir & | axis | ||
) |
Return direction of axis or revolution of a surface.
References getRovolutionAxis().
Referenced by getRovolutionAxis().
◆ isConcave()
bool VISCOUS_3D::isConcave | ( | const TopoDS_Face & | F, |
SMESH_MesherHelper & | helper, | ||
set< TGeomID > * | vertices = 0 |
||
) |
Returns true if a FACE is bound by a concave EDGE.
References getConcaveVertices(), isConcave(), and SMESH_Algo::isDegenerated().
Referenced by isConcave(), and VISCOUS_3D::_SolidData::PrepareEdgesToSmoothOnFace().
◆ needSmoothing()
bool VISCOUS_3D::needSmoothing | ( | double | cosin, |
double | tgtThick, | ||
double | elemSize | ||
) |
References needSmoothing(), and theSmoothThickToElemSizeRatio.
Referenced by needSmoothing().
◆ ToClearSubWithMain()
void VISCOUS_3D::ToClearSubWithMain | ( | SMESH_subMesh * | sub, |
const TopoDS_Shape & | main | ||
) |
sets a sub-mesh event listener to clear sub-meshes of sub-shapes of the main shape when sub-mesh of the main shape is cleared, for example to clear sub-meshes of FACEs when sub-mesh of a SOLID is cleared
References DraftVecUtils::find(), SMESH_subMesh::GetEventListenerData(), SMESH_subMesh::GetFather(), SMESH_Mesh::GetSubMesh(), SMESH_subMeshEventListenerData::MakeData(), SMESH_subMeshEventListenerData::mySubMeshes, SMESH_subMesh::SetEventListener(), and ToClearSubWithMain().
Referenced by StdMeshers_ViscousLayers2D::RestoreListeners(), and ToClearSubWithMain().
Variable Documentation
◆ theMinSmoothCosin
const double VISCOUS_3D::theMinSmoothCosin = 0.1 |
◆ theSmoothThickToElemSizeRatio
const double VISCOUS_3D::theSmoothThickToElemSizeRatio = 0.3 |
Referenced by needSmoothing().
◆ theThickToIntersection
const double VISCOUS_3D::theThickToIntersection = 1.5 |