Smoother of _LayerEdge's on EDGE. More...
Data Structures | |
struct | OffPnt |
Public Member Functions | |
Handle (Geom_Curve) _anaCurve | |
_Smoother1D (Handle(Geom_Curve) curveForSmooth, _EdgesOnShape &eos) | |
bool | Perform (_SolidData &data, Handle(ShapeAnalysis_Surface)&surface, const TopoDS_Face &F, SMESH_MesherHelper &helper) |
void | prepare (_SolidData &data) |
Prepare for smoothing. More... | |
bool | smoothAnalyticEdge (_SolidData &data, Handle(ShapeAnalysis_Surface)&surface, const TopoDS_Face &F, SMESH_MesherHelper &helper) |
smooth _LayerEdge's on a staight EDGE or circular EDGE More... | |
bool | smoothComplexEdge (_SolidData &data, Handle(ShapeAnalysis_Surface)&surface, const TopoDS_Face &F, SMESH_MesherHelper &helper) |
smooth _LayerEdge's on a an EDGE More... | |
gp_XYZ | getNormalNormal (const gp_XYZ &normal, const gp_XYZ &edgeDir) |
set _normal of _leOnV[is2nd] to be normal to the EDGE More... | |
_LayerEdge * | getLEdgeOnV (bool is2nd) |
bool | isAnalytic () const |
Static Public Member Functions | |
static | Handle (Geom_Curve) CurveForSmooth(const TopoDS_Edge &E |
Data Fields | |
vector< OffPnt > | _offPoints |
vector< double > | _leParams |
_LayerEdge | _leOnV [2] |
gp_XYZ | _edgeDir [2] |
size_t | _iSeg [2] |
_EdgesOnShape & | _eos |
double | _curveLen |
static _EdgesOnShape & | eos |
static _EdgesOnShape SMESH_MesherHelper & | helper |
Smoother of _LayerEdge's on EDGE.
VISCOUS_3D::_Smoother1D::_Smoother1D | ( | Handle(Geom_Curve) | curveForSmooth, |
_EdgesOnShape & | eos | ||
) |
_LayerEdge* VISCOUS_3D::_Smoother1D::getLEdgeOnV | ( | bool | is2nd | ) |
References VISCOUS_3D::_LayerEdge::_2neibors, and VISCOUS_3D::_2NearEdges::_edges.
Referenced by prepare(), smoothAnalyticEdge(), and smoothComplexEdge().
gp_XYZ _Smoother1D::getNormalNormal | ( | const gp_XYZ & | normal, |
const gp_XYZ & | edgeDir | ||
) |
set _normal of _leOnV[is2nd] to be normal to the EDGE
Referenced by prepare(), and smoothComplexEdge().
VISCOUS_3D::_Smoother1D::Handle | ( | Geom_Curve | ) |
Referenced by smoothAnalyticEdge().
|
static |
bool VISCOUS_3D::_Smoother1D::isAnalytic | ( | ) | const |
Referenced by prepare(), and smoothAnalyticEdge().
bool VISCOUS_3D::_Smoother1D::Perform | ( | _SolidData & | data, |
Handle(ShapeAnalysis_Surface)& | surface, | ||
const TopoDS_Face & | F, | ||
SMESH_MesherHelper & | helper | ||
) |
Referenced by VISCOUS_3D::_ViscousBuilder::smoothAndCheck().
void _Smoother1D::prepare | ( | _SolidData & | data | ) |
Prepare for smoothing.
References VISCOUS_3D::_LayerEdge::_2neibors, _curveLen, _edgeDir, VISCOUS_3D::_2NearEdges::_edges, VISCOUS_3D::_EdgesOnShape::_edges, _eos, _iSeg, VISCOUS_3D::_LayerEdge::_len, VISCOUS_3D::_LayerEdge::_lenFactor, _leOnV, _leParams, VISCOUS_3D::_LayerEdge::_nodes, VISCOUS_3D::_LayerEdge::_normal, _offPoints, VISCOUS_3D::_EdgesOnShape::_shape, Edge, SMESH_Algo::EdgeLength(), VISCOUS_3D::getEdgeDir(), VISCOUS_3D::_SolidData::GetHelper(), getLEdgeOnV(), getNormalNormal(), isAnalytic(), and VISCOUS_3D::_SolidData::SortOnEdge().
bool _Smoother1D::smoothAnalyticEdge | ( | _SolidData & | data, |
Handle(ShapeAnalysis_Surface)& | surface, | ||
const TopoDS_Face & | F, | ||
SMESH_MesherHelper & | helper | ||
) |
smooth _LayerEdge's on a staight EDGE or circular EDGE
References VISCOUS_3D::_EdgesOnShape::_edges, _eos, _leParams, VISCOUS_3D::_LayerEdge::_nodes, VISCOUS_3D::_LayerEdge::_pos, VISCOUS_3D::_LayerEdge::BLOCKED, SMESH::DownCast(), dumpMove, getLEdgeOnV(), SMESH_MesherHelper::GetOtherParam(), SMESH_MesherHelper::GetPeriodicIndex(), SMDS_MeshNode::GetPosition(), VISCOUS_3D::_SolidData::GetShapeEdges(), Handle(), VISCOUS_3D::_LayerEdge::Is(), isAnalytic(), VISCOUS_3D::_LayerEdge::LastUV(), VISCOUS_3D::_LayerEdge::NORMAL_UPDATED, SMDS_FacePosition::SetUParameter(), SMDS_FacePosition::SetVParameter(), SMDS_MeshNode::setXYZ(), and SMESH_TNodeXYZ::SquareDistance().
bool _Smoother1D::smoothComplexEdge | ( | _SolidData & | data, |
Handle(ShapeAnalysis_Surface)& | surface, | ||
const TopoDS_Face & | F, | ||
SMESH_MesherHelper & | helper | ||
) |
smooth _LayerEdge's on a an EDGE
References _edgeDir, VISCOUS_3D::_EdgesOnShape::_edges, _eos, _iSeg, VISCOUS_3D::_LayerEdge::_len, VISCOUS_3D::_LayerEdge::_lenFactor, _leOnV, _leParams, VISCOUS_3D::_LayerEdge::_normal, _offPoints, Abs(), VISCOUS_3D::_LayerEdge::BLOCKED, debugMsg, dumpMove, getLEdgeOnV(), getNormalNormal(), VISCOUS_3D::_LayerEdge::Is(), VISCOUS_3D::_LayerEdge::NORMAL_UPDATED, and SMDS_MeshNode::setXYZ().
double VISCOUS_3D::_Smoother1D::_curveLen |
Referenced by prepare().
gp_XYZ VISCOUS_3D::_Smoother1D::_edgeDir[2] |
Referenced by prepare(), and smoothComplexEdge().
_EdgesOnShape& VISCOUS_3D::_Smoother1D::_eos |
Referenced by prepare(), smoothAnalyticEdge(), and smoothComplexEdge().
size_t VISCOUS_3D::_Smoother1D::_iSeg[2] |
Referenced by prepare(), and smoothComplexEdge().
_LayerEdge VISCOUS_3D::_Smoother1D::_leOnV[2] |
Referenced by prepare(), and smoothComplexEdge().
vector< double > VISCOUS_3D::_Smoother1D::_leParams |
Referenced by prepare(), smoothAnalyticEdge(), and smoothComplexEdge().
vector< OffPnt > VISCOUS_3D::_Smoother1D::_offPoints |
Referenced by prepare(), and smoothComplexEdge().
_EdgesOnShape& VISCOUS_3D::_Smoother1D::eos |
_EdgesOnShape SMESH_MesherHelper& VISCOUS_3D::_Smoother1D::helper |