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] |