Shrinker of nodes on the EDGE. More...
Public Member Functions | |
void | AddEdge (const _LayerEdge *e, _EdgesOnShape &eos, SMESH_MesherHelper &helper) |
Keep a _LayerEdge inflated along the EDGE. More... | |
void | Compute (bool set3D, SMESH_MesherHelper &helper) |
Move nodes on EDGE from ends where _LayerEdge's are inflated. More... | |
void | RestoreParams () |
Restore initial parameters of nodes on EDGE. More... | |
void | SwapSrcTgtNodes (SMESHDS_Mesh *mesh) |
Replace source nodes by target nodes in shrinked mesh edges. More... | |
const TopoDS_Edge & | GeomEdge () const |
const SMDS_MeshNode * | TgtNode (bool is2nd) const |
const SMDS_MeshNode * | SrcNode (bool is2nd) const |
Private Attributes | |
TopoDS_Edge | _geomEdge |
vector< double > | _initU |
vector< double > | _normPar |
vector< const SMDS_MeshNode * > | _nodes |
const _LayerEdge * | _edges [2] |
bool | _done |
Shrinker of nodes on the EDGE.
void _Shrinker1D::AddEdge | ( | const _LayerEdge * | e, |
_EdgesOnShape & | eos, | ||
SMESH_MesherHelper & | helper | ||
) |
Keep a _LayerEdge inflated along the EDGE.
References _done, _edges, _geomEdge, _initU, VISCOUS_3D::_LayerEdge::_nodes, _nodes, _normPar, VISCOUS_3D::_EdgesOnShape::_sWOL, Edge, SMDS_MeshNode::GetInverseElementIterator(), SMESH_MesherHelper::GetMeshDS(), SMESHDS_SubMesh::GetNodes(), SMESH_MesherHelper::GetNodeU(), Handle(), SMESHDS_Mesh::MeshElements(), SMDS_MeshNode::NbInverseElements(), SMESHDS_SubMesh::NbNodes(), SMDSAbs_Edge, SMDSAbs_Face, VISCOUS_3D::_EdgesOnShape::SWOLType(), and TgtNode().
Referenced by VISCOUS_3D::_ViscousBuilder::shrink().
void _Shrinker1D::Compute | ( | bool | set3D, |
SMESH_MesherHelper & | helper | ||
) |
Move nodes on EDGE from ends where _LayerEdge's are inflated.
References _done, _edges, _geomEdge, _nodes, _normPar, SMESH_MesherHelper::GetNodeU(), Handle(), VISCOUS_3D::_LayerEdge::Is(), SMDS_EdgePosition::SetUParameter(), and VISCOUS_3D::_LayerEdge::SHRUNK.
Referenced by VISCOUS_3D::_ViscousBuilder::shrink().
const TopoDS_Edge& VISCOUS_3D::_Shrinker1D::GeomEdge | ( | ) | const |
Referenced by VISCOUS_3D::_ViscousBuilder::shrink().
void _Shrinker1D::RestoreParams | ( | ) |
Restore initial parameters of nodes on EDGE.
References _done, _initU, _nodes, and SMDS_EdgePosition::SetUParameter().
Referenced by VISCOUS_3D::_ViscousBuilder::shrink().
const SMDS_MeshNode* VISCOUS_3D::_Shrinker1D::SrcNode | ( | bool | is2nd | ) | const |
Referenced by VISCOUS_3D::_ViscousBuilder::shrink().
void _Shrinker1D::SwapSrcTgtNodes | ( | SMESHDS_Mesh * | mesh | ) |
Replace source nodes by target nodes in shrinked mesh edges.
References _edges, _geomEdge, VISCOUS_3D::_LayerEdge::_nodes, SMESHDS_Mesh::ChangeElementNodes(), SMESHDS_SubMesh::Contains(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_MeshElement::GetNodeIndex(), SMESHDS_Mesh::MeshElements(), SMDS_MeshElement::NbNodes(), SMDS_MeshElement::nodesIterator(), and SMDSAbs_Edge.
const SMDS_MeshNode* VISCOUS_3D::_Shrinker1D::TgtNode | ( | bool | is2nd | ) | const |
Referenced by AddEdge(), and VISCOUS_3D::_ViscousBuilder::shrink().
|
private |
Referenced by AddEdge(), Compute(), and RestoreParams().
|
private |
Referenced by AddEdge(), Compute(), and SwapSrcTgtNodes().
|
private |
Referenced by AddEdge(), Compute(), and SwapSrcTgtNodes().
|
private |
Referenced by AddEdge(), and RestoreParams().
|
private |
Referenced by AddEdge(), Compute(), and RestoreParams().