Data of a SOLID. More...
Public Types | |
| typedef const StdMeshers_ViscousLayers * | THyp |
Public Member Functions | |
| _SolidData (const TopoDS_Shape &s=TopoDS_Shape(), _MeshOfSolid *m=0) | |
| ~_SolidData () | |
| Delete _SolidData. More... | |
| void | SortOnEdge (const TopoDS_Edge &E, vector< _LayerEdge * > &edges) |
| Sort _LayerEdge's by a parameter on a given EDGE. More... | |
| void | Sort2NeiborsOnEdge (vector< _LayerEdge * > &edges) |
| Set _2neibors according to the order of _LayerEdge on EDGE. More... | |
| _ConvexFace * | GetConvexFace (const TGeomID faceID) |
| _EdgesOnShape * | GetShapeEdges (const TGeomID shapeID) |
| Return _EdgesOnShape* corresponding to the shape. More... | |
| _EdgesOnShape * | GetShapeEdges (const TopoDS_Shape &shape) |
| Return _EdgesOnShape* corresponding to the shape. More... | |
| _EdgesOnShape * | GetShapeEdges (const _LayerEdge *edge) |
| SMESH_MesherHelper & | GetHelper () const |
| void | UnmarkEdges (int flag=_LayerEdge::MARKED) |
| void | AddShapesToSmooth (const set< _EdgesOnShape * > &shape, const set< _EdgesOnShape * > *edgesNoAnaSmooth=0) |
| Add faces for smoothing. More... | |
| void | PrepareEdgesToSmoothOnFace (_EdgesOnShape *eof, bool substituteSrcNodes) |
| Prepare data of the _LayerEdge for smoothing on FACE. More... | |
Data Fields | |
| TopoDS_Shape | _solid |
| TopTools_MapOfShape | _before |
| TGeomID | _index |
| _MeshOfSolid * | _proxyMesh |
| list< THyp > | _hyps |
| list< TopoDS_Shape > | _hypShapes |
| map< TGeomID, THyp > | _face2hyp |
| set< TGeomID > | _reversedFaceIds |
| set< TGeomID > | _ignoreFaceIds |
| double | _stepSize |
| double | _stepSizeCoeff |
| double | _geomSize |
| const SMDS_MeshNode * | _stepSizeNodes [2] |
| TNode2Edge | _n2eMap |
| map< TGeomID, TNode2Edge * > | _s2neMap |
| vector< _EdgesOnShape > | _edgesOnShape |
| map< TGeomID, TopoDS_Shape > | _shrinkShape2Shape |
| map< TGeomID, _ConvexFace > | _convexFaces |
| set< TGeomID > | _noShrinkShapes |
| int | _nbShapesToSmooth |
| vector< _CollisionEdges > | _collisionEdges |
| set< TGeomID > | _concaveFaces |
| double | _maxThickness |
| double | _minThickness |
| double | _epsilon |
| SMESH_MesherHelper * | _helper |
Data of a SOLID.
| typedef const StdMeshers_ViscousLayers* VISCOUS_3D::_SolidData::THyp |
| VISCOUS_3D::_SolidData::_SolidData | ( | const TopoDS_Shape & | s = TopoDS_Shape(), |
| _MeshOfSolid * | m = 0 |
||
| ) |
| _SolidData::~_SolidData | ( | ) |
Delete _SolidData.
References VISCOUS_3D::_LayerEdge::_2neibors, VISCOUS_3D::_LayerEdge::_curvature, _helper, _n2eMap, and VISCOUS_3D::_2NearEdges::_plnNorm.
| void _SolidData::AddShapesToSmooth | ( | const set< _EdgesOnShape * > & | shape, |
| const set< _EdgesOnShape * > * | edgesNoAnaSmooth = 0 |
||
| ) |
Add faces for smoothing.
References PrepareEdgesToSmoothOnFace().
Referenced by VISCOUS_3D::_ViscousBuilder::updateNormals(), and VISCOUS_3D::_ViscousBuilder::updateNormalsOfConvexFaces().
| _ConvexFace* VISCOUS_3D::_SolidData::GetConvexFace | ( | const TGeomID | faceID | ) |
Referenced by VISCOUS_3D::_ViscousBuilder::smoothAndCheck().
| SMESH_MesherHelper& VISCOUS_3D::_SolidData::GetHelper | ( | ) | const |
| _EdgesOnShape * _SolidData::GetShapeEdges | ( | const TGeomID | shapeID | ) |
Return _EdgesOnShape* corresponding to the shape.
References _edgesOnShape.
Referenced by VISCOUS_3D::_ViscousBuilder::addBoundaryElements(), VISCOUS_3D::_LayerEdge::Block(), VISCOUS_3D::_ViscousBuilder::findCollisionEdges(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), GetShapeEdges(), VISCOUS_3D::_ViscousBuilder::invalidateBadSmooth(), VISCOUS_3D::_ViscousBuilder::limitMaxLenByCurvature(), VISCOUS_3D::_ViscousBuilder::limitStepSizeByCurvature(), PrepareEdgesToSmoothOnFace(), VISCOUS_3D::_CentralCurveOnEdge::SetShapes(), VISCOUS_3D::_ViscousBuilder::shrink(), VISCOUS_3D::_Smoother1D::smoothAnalyticEdge(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), VISCOUS_3D::_ViscousBuilder::updateNormals(), VISCOUS_3D::_ViscousBuilder::updateNormalsOfC1Vertices(), and VISCOUS_3D::_ViscousBuilder::updateNormalsOfConvexFaces().
| _EdgesOnShape * _SolidData::GetShapeEdges | ( | const TopoDS_Shape & | shape | ) |
Return _EdgesOnShape* corresponding to the shape.
References _proxyMesh, SMESH_ProxyMesh::GetMesh(), GetShapeEdges(), and SMESHDS_Mesh::ShapeToIndex().
| _EdgesOnShape* VISCOUS_3D::_SolidData::GetShapeEdges | ( | const _LayerEdge * | edge | ) |
References VISCOUS_3D::_LayerEdge::_nodes, and GetShapeEdges().
Referenced by GetShapeEdges().
| void _SolidData::PrepareEdgesToSmoothOnFace | ( | _EdgesOnShape * | eof, |
| bool | substituteSrcNodes | ||
| ) |
Prepare data of the _LayerEdge for smoothing on FACE.
References _concaveFaces, VISCOUS_3D::_LayerEdge::_cosin, VISCOUS_3D::_LayerEdge::_curvature, VISCOUS_3D::_EdgesOnShape::_edgeForOffset, VISCOUS_3D::_EdgesOnShape::_edges, VISCOUS_3D::_EdgesOnShape::_eosConcaVer, _n2eMap, VISCOUS_3D::_Simplex::_nNext, VISCOUS_3D::_LayerEdge::_nodes, VISCOUS_3D::_LayerEdge::_normal, VISCOUS_3D::_Simplex::_nPrev, VISCOUS_3D::_LayerEdge::_pos, _proxyMesh, VISCOUS_3D::_EdgesOnShape::_shape, VISCOUS_3D::_EdgesOnShape::_shapeID, VISCOUS_3D::_LayerEdge::_simplices, VISCOUS_3D::_EdgesOnShape::_subMesh, VISCOUS_3D::_Curvature::_uv, VISCOUS_3D::_LayerEdge::ChooseSmooFunction(), VISCOUS_3D::_LayerEdge::DIFFICULT, Face, SMESH_MeshAlgos::GetDistance(), SMESH_ProxyMesh::GetMesh(), SMDS_MeshElement::GetNode(), GetShapeEdges(), SMDS_MeshElement::getshapeId(), VISCOUS_3D::_LayerEdge::GetSmooLen(), VISCOUS_3D::getSmoothingThickness(), SMDS_FacePosition::GetUParameter(), SMDS_FacePosition::GetVParameter(), VISCOUS_3D::isConcave(), Min(), VISCOUS_3D::_LayerEdge::NEAR_BOUNDARY, VISCOUS_3D::_Curvature::New(), VISCOUS_3D::_LayerEdge::Set(), VISCOUS_3D::_LayerEdge::SetSmooLen(), VISCOUS_3D::_EdgesOnShape::ShapeType(), SMDSAbs_Edge, VISCOUS_3D::_Simplex::SortSimplices(), VISCOUS_3D::theMinSmoothCosin, and VISCOUS_3D::_LayerEdge::TO_SMOOTH.
Referenced by AddShapesToSmooth(), and VISCOUS_3D::_ViscousBuilder::findShapesToSmooth().
| void _SolidData::Sort2NeiborsOnEdge | ( | vector< _LayerEdge * > & | edges | ) |
Set _2neibors according to the order of _LayerEdge on EDGE.
Referenced by SortOnEdge().
| void _SolidData::SortOnEdge | ( | const TopoDS_Edge & | E, |
| vector< _LayerEdge * > & | edges | ||
| ) |
Sort _LayerEdge's by a parameter on a given EDGE.
References _helper, SMESH_MesherHelper::GetNodeU(), and Sort2NeiborsOnEdge().
Referenced by VISCOUS_3D::_Smoother1D::prepare(), VISCOUS_3D::_ViscousBuilder::shrink(), and VISCOUS_3D::_ViscousBuilder::updateNormalsOfConvexFaces().
| void VISCOUS_3D::_SolidData::UnmarkEdges | ( | int | flag = _LayerEdge::MARKED | ) |
| TopTools_MapOfShape VISCOUS_3D::_SolidData::_before |
Referenced by VISCOUS_3D::_ViscousBuilder::setBefore().
| vector< _CollisionEdges > VISCOUS_3D::_SolidData::_collisionEdges |
| set< TGeomID > VISCOUS_3D::_SolidData::_concaveFaces |
Referenced by PrepareEdgesToSmoothOnFace(), and VISCOUS_3D::_ViscousBuilder::smoothAndCheck().
| map< TGeomID, _ConvexFace > VISCOUS_3D::_SolidData::_convexFaces |
| vector< _EdgesOnShape > VISCOUS_3D::_SolidData::_edgesOnShape |
Referenced by VISCOUS_3D::_ViscousBuilder::computeGeomSize(), VISCOUS_3D::_ViscousBuilder::findCollisionEdges(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), GetShapeEdges(), VISCOUS_3D::_ViscousBuilder::inflate(), VISCOUS_3D::_ViscousBuilder::limitMaxLenByCurvature(), VISCOUS_3D::_ViscousBuilder::limitStepSizeByCurvature(), VISCOUS_3D::_ViscousBuilder::makeLayer(), VISCOUS_3D::_ViscousBuilder::refine(), VISCOUS_3D::_ViscousBuilder::setShapeData(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), VISCOUS_3D::_ViscousBuilder::updateNormalsOfC1Vertices(), and VISCOUS_3D::_ViscousBuilder::updateNormalsOfSmoothed().
| double VISCOUS_3D::_SolidData::_epsilon |
Referenced by VISCOUS_3D::_ViscousBuilder::setShapeData().
| double VISCOUS_3D::_SolidData::_geomSize |
Referenced by VISCOUS_3D::_ViscousBuilder::computeGeomSize(), and VISCOUS_3D::_ViscousBuilder::inflate().
| SMESH_MesherHelper* VISCOUS_3D::_SolidData::_helper |
Referenced by VISCOUS_3D::_ViscousBuilder::findSolidsWithLayers(), SortOnEdge(), and ~_SolidData().
| list< THyp > VISCOUS_3D::_SolidData::_hyps |
| list< TopoDS_Shape > VISCOUS_3D::_SolidData::_hypShapes |
Referenced by VISCOUS_3D::_ViscousBuilder::findSolidsWithLayers().
| set< TGeomID > VISCOUS_3D::_SolidData::_ignoreFaceIds |
| TGeomID VISCOUS_3D::_SolidData::_index |
Referenced by VISCOUS_3D::_ViscousBuilder::addBoundaryElements(), VISCOUS_3D::_ViscousBuilder::findNeiborsOnEdge(), VISCOUS_3D::_ViscousBuilder::findSolidsWithLayers(), VISCOUS_3D::_ViscousBuilder::inflate(), VISCOUS_3D::_ViscousBuilder::makeLayer(), VISCOUS_3D::_ViscousBuilder::refine(), VISCOUS_3D::_ViscousBuilder::setEdgeData(), VISCOUS_3D::_ViscousBuilder::smoothAndCheck(), VISCOUS_3D::_ViscousBuilder::updateNormals(), and VISCOUS_3D::_ViscousBuilder::updateNormalsOfConvexFaces().
| double VISCOUS_3D::_SolidData::_maxThickness |
| double VISCOUS_3D::_SolidData::_minThickness |
| TNode2Edge VISCOUS_3D::_SolidData::_n2eMap |
| int VISCOUS_3D::_SolidData::_nbShapesToSmooth |
| set< TGeomID > VISCOUS_3D::_SolidData::_noShrinkShapes |
| _MeshOfSolid* VISCOUS_3D::_SolidData::_proxyMesh |
Referenced by VISCOUS_3D::_ViscousBuilder::addBoundaryElements(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), GetShapeEdges(), VISCOUS_3D::_ViscousBuilder::inflate(), VISCOUS_3D::_ViscousBuilder::makeLayer(), PrepareEdgesToSmoothOnFace(), VISCOUS_3D::_ViscousBuilder::shrink(), and VISCOUS_3D::_ViscousBuilder::smoothAndCheck().
| set< TGeomID > VISCOUS_3D::_SolidData::_reversedFaceIds |
Referenced by VISCOUS_3D::_Simplex::GetSimplices(), and VISCOUS_3D::_ViscousBuilder::refine().
| map< TGeomID, TNode2Edge* > VISCOUS_3D::_SolidData::_s2neMap |
Referenced by VISCOUS_3D::_ViscousBuilder::makeLayer(), and VISCOUS_3D::_ViscousBuilder::refine().
| map< TGeomID, TopoDS_Shape > VISCOUS_3D::_SolidData::_shrinkShape2Shape |
| TopoDS_Shape VISCOUS_3D::_SolidData::_solid |
Referenced by VISCOUS_3D::_ViscousBuilder::addBoundaryElements(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), VISCOUS_3D::_ViscousBuilder::makeLayer(), VISCOUS_3D::_ViscousBuilder::refine(), VISCOUS_3D::_ViscousBuilder::setBefore(), VISCOUS_3D::_ViscousBuilder::setEdgeData(), VISCOUS_3D::_ViscousBuilder::setShapeData(), VISCOUS_3D::_ViscousBuilder::shrink(), and VISCOUS_3D::_ViscousBuilder::smoothAndCheck().
| double VISCOUS_3D::_SolidData::_stepSize |
| double VISCOUS_3D::_SolidData::_stepSizeCoeff |
Referenced by VISCOUS_3D::_ViscousBuilder::inflate(), and VISCOUS_3D::_ViscousBuilder::limitStepSize().
| const SMDS_MeshNode* VISCOUS_3D::_SolidData::_stepSizeNodes[2] |