Data Structures | |
struct | _MeshOfSolid |
SMESH_ProxyMesh computed by _ViscousBuilder for a SOLID. More... | |
class | _ShrinkShapeListener |
Listener of events of 3D sub-meshes computed with viscous layers. More... | |
class | _ViscousListener |
Listener of events of 3D sub-meshes computed with 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. More... | |
struct | _Curvature |
Structure used to take into account surface curvature while smoothing. More... | |
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 | _halfPlane |
A 2D half plane used by _LayerEdge::smoothNefPolygon() More... | |
struct | _2NearEdges |
Structure used to smooth a _LayerEdge based on an EDGE. More... | |
struct | AverageHyp |
Layers parameters got by averaging several hypotheses. More... | |
struct | _EdgesOnShape |
_LayerEdge's on a shape and other shape data More... | |
struct | _ConvexFace |
Convex FACE whose radius of curvature is less than the thickness of layers. More... | |
struct | _CollisionEdges |
Structure holding _LayerEdge's based on EDGEs that will collide at inflation up to the full thickness. More... | |
struct | _SolidData |
Data of a SOLID. More... | |
struct | _OffsetPlane |
Offset plane used in getNormalByOffset() More... | |
struct | _CentralCurveOnEdge |
Container of centers of curvature at nodes on an EDGE bounding _ConvexFace. More... | |
struct | _SmoothNode |
Data of node on a shrinked FACE. More... | |
class | _ViscousBuilder |
Builder of viscous layers. More... | |
class | _Shrinker1D |
Shrinker of nodes on the EDGE. More... | |
struct | _Smoother1D |
Smoother of _LayerEdge's on EDGE. More... | |
struct | _TmpMeshFace |
Class of temporary mesh face. More... | |
struct | _TmpMeshFaceOnEdge |
Class of temporary mesh face storing _LayerEdge it's based on. More... | |
struct | _NodeCoordHelper |
Retriever of node coordinates either directly or from a surface by node UV. 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 | needSmoothing (double cosin, double tgtThick, double elemSize) |
double | getSmoothingThickness (double cosin, 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... | |
bool | isLessAngle (const gp_Vec &v1, const gp_Vec &v2, const double cos) |
Check angle between vectors. More... | |
gp_XYZ | getEdgeDir (const TopoDS_Edge &E, const TopoDS_Vertex &fromV) |
gp_XYZ | getEdgeDir (const TopoDS_Edge &E, const SMDS_MeshNode *atNode, SMESH_MesherHelper &helper) |
gp_XYZ | getFaceDir (const TopoDS_Face &F, const TopoDS_Vertex &fromV, const SMDS_MeshNode *node, SMESH_MesherHelper &helper, bool &ok, double *cosin=0) |
gp_XYZ | getFaceDir (const TopoDS_Face &F, const TopoDS_Edge &fromE, const SMDS_MeshNode *node, SMESH_MesherHelper &helper, bool &ok) |
bool | getConcaveVertices (const TopoDS_Face &F, SMESH_MesherHelper &helper, set< TGeomID > *vertices=0) |
Finds concave VERTEXes of a FACE. 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 | getDistFromEdge (const SMDS_MeshElement *face, const SMDS_MeshNode *nodeOnEdge, double &faceSize) |
Computes mimimal distance of face in-FACE nodes from an EDGE. More... | |
bool | getRovolutionAxis (const Adaptor3d_Surface &surface, gp_Dir &axis) |
Return direction of axis or revolution of a surface. More... | |
Variables | |
const double | theMinSmoothCosin = 0.1 |
const double | theSmoothThickToElemSizeRatio = 0.3 |
const double | theMinSmoothTriaAngle = 30 |
const double | theMinSmoothQuadAngle = 45 |
const double | theThickToIntersection = 1.5 |
typedef int VISCOUS_3D::TGeomID |
typedef map< const SMDS_MeshNode*, _LayerEdge*, TIDCompare > VISCOUS_3D::TNode2Edge |
enum VISCOUS_3D::UIndex |
bool VISCOUS_3D::getConcaveVertices | ( | const TopoDS_Face & | F, |
SMESH_MesherHelper & | helper, | ||
set< TGeomID > * | vertices = 0 |
||
) |
Finds concave VERTEXes of a FACE.
References Edge, SMESH_MesherHelper::GetAngle(), StdMeshers_FaceSide::GetFaceWires(), SMESH_MesherHelper::GetMesh(), SMESH_MesherHelper::GetMeshDS(), SMESH_Algo::isDegenerated(), and SMESHDS_Mesh::ShapeToIndex().
Referenced by isConcave().
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.
[in] | face | - the mesh face to treat |
[in] | nodeOnEdge | - a node on the EDGE |
[out] | faceSize | - the computed distance |
References SMDS_MeshElement::GetID(), SMDS_MeshElement::GetNode(), SMDS_MeshElement::GetNodeIndex(), Min(), SMDS_MeshElement::NbCornerNodes(), and SMESH_MesherHelper::WrapIndex().
Referenced by VISCOUS_3D::_ViscousBuilder::findShapesToSmooth().
gp_XYZ VISCOUS_3D::getEdgeDir | ( | const TopoDS_Edge & | E, |
const TopoDS_Vertex & | fromV | ||
) |
References Handle().
Referenced by VISCOUS_3D::_OffsetPlane::ComputeIntersectionLine(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), getFaceDir(), VISCOUS_3D::_Smoother1D::prepare(), VISCOUS_3D::_LayerEdge::SetDataByNeighbors(), VISCOUS_3D::_ViscousBuilder::setEdgeData(), and VISCOUS_3D::_ViscousBuilder::updateNormals().
gp_XYZ VISCOUS_3D::getEdgeDir | ( | const TopoDS_Edge & | E, |
const SMDS_MeshNode * | atNode, | ||
SMESH_MesherHelper & | helper | ||
) |
References SMESH_MesherHelper::GetNodeU(), and Handle().
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 |
||
) |
gp_XYZ VISCOUS_3D::getFaceDir | ( | const TopoDS_Face & | F, |
const TopoDS_Edge & | fromE, | ||
const SMDS_MeshNode * | node, | ||
SMESH_MesherHelper & | helper, | ||
bool & | ok | ||
) |
bool VISCOUS_3D::getRovolutionAxis | ( | const Adaptor3d_Surface & | surface, |
gp_Dir & | axis | ||
) |
Return direction of axis or revolution of a surface.
References Handle().
Referenced by VISCOUS_3D::_ViscousBuilder::getFaceNormalAtSingularity().
double VISCOUS_3D::getSmoothingThickness | ( | double | cosin, |
double | elemSize | ||
) |
References theSmoothThickToElemSizeRatio.
Referenced by VISCOUS_3D::_SolidData::PrepareEdgesToSmoothOnFace().
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 Edge, getConcaveVertices(), and SMESH_Algo::isDegenerated().
Referenced by VISCOUS_3D::_SolidData::PrepareEdgesToSmoothOnFace(), and VISCOUS_3D::_ViscousBuilder::shrink().
bool VISCOUS_3D::isLessAngle | ( | const gp_Vec & | v1, |
const gp_Vec & | v2, | ||
const double | cos | ||
) |
Check angle between vectors.
Referenced by VISCOUS_3D::_ViscousBuilder::findCollisionEdges(), and SMESH::Controls::CoplanarFaces::SetMesh().
bool VISCOUS_3D::needSmoothing | ( | double | cosin, |
double | tgtThick, | ||
double | elemSize | ||
) |
References theSmoothThickToElemSizeRatio.
Referenced by VISCOUS_3D::_ViscousBuilder::findShapesToSmooth().
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 SMESH_subMesh::GetEventListenerData(), SMESH_subMesh::GetFather(), SMESH_subMeshEventListenerData::MakeData(), SMESH_subMeshEventListenerData::mySubMeshes, and SMESH_subMesh::SetEventListener().
Referenced by StdMeshers_ViscousLayers2D::RestoreListeners(), VISCOUS_2D::_ViscousBuilder2D::shrink(), and VISCOUS_3D::_ViscousBuilder::shrink().
const double VISCOUS_3D::theMinSmoothCosin = 0.1 |
Referenced by VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), VISCOUS_3D::_ViscousBuilder::getNormalByOffset(), VISCOUS_3D::_ViscousBuilder::makeLayer(), VISCOUS_3D::_SolidData::PrepareEdgesToSmoothOnFace(), VISCOUS_3D::_ViscousBuilder::updateNormals(), and VISCOUS_3D::_ViscousBuilder::updateNormalsOfConvexFaces().
const double VISCOUS_3D::theMinSmoothQuadAngle = 45 |
Referenced by VISCOUS_3D::_Simplex::IsMinAngleOK().
const double VISCOUS_3D::theMinSmoothTriaAngle = 30 |
Referenced by VISCOUS_3D::_Simplex::IsMinAngleOK().
const double VISCOUS_3D::theSmoothThickToElemSizeRatio = 0.3 |
Referenced by getSmoothingThickness(), VISCOUS_3D::_ViscousBuilder::limitMaxLenByCurvature(), and needSmoothing().
const double VISCOUS_3D::theThickToIntersection = 1.5 |