Salome HOME
initialize the Curve Adaptor using range of the edge
authoreap <eap@opencascade.com>
Fri, 1 Jul 2011 15:45:09 +0000 (15:45 +0000)
committereap <eap@opencascade.com>
Fri, 1 Jul 2011 15:45:09 +0000 (15:45 +0000)
src/StdMeshers/StdMeshers_Arithmetic1D.cxx
src/StdMeshers/StdMeshers_Deflection1D.cxx
src/StdMeshers/StdMeshers_FaceSide.cxx
src/StdMeshers/StdMeshers_LocalLength.cxx
src/StdMeshers/StdMeshers_MaxLength.cxx
src/StdMeshers/StdMeshers_StartEndLength.cxx
src/StdMeshers/StdMeshers_ViscousLayers.cxx

index d89056562cf0131baa9d73d0652e05a1670e3565..4f6a0527c996765a78f68c08c41f8763e107f47a 100644 (file)
@@ -214,7 +214,7 @@ bool StdMeshers_Arithmetic1D::SetParametersByMesh(const SMESH_Mesh*   theMesh,
   {
     const TopoDS_Edge& edge = TopoDS::Edge( edgeMap( i ));
     Handle(Geom_Curve) C = BRep_Tool::Curve(edge, L, UMin, UMax);
-    GeomAdaptor_Curve AdaptCurve(C);
+    GeomAdaptor_Curve AdaptCurve(C, UMin, UMax);
 
     vector< double > params;
     SMESHDS_Mesh* aMeshDS = const_cast< SMESH_Mesh* >( theMesh )->GetMeshDS();
index aa503e79c7965ccf03032267c8cdec971d89ff7a..a8716d18912c616a6c98198328f594b12d4760d3 100644 (file)
@@ -204,7 +204,7 @@ bool StdMeshers_Deflection1D::SetParametersByMesh(const SMESH_Mesh*   theMesh,
   {
     const TopoDS_Edge& edge = TopoDS::Edge( edgeMap( iE ));
     Handle(Geom_Curve) C = BRep_Tool::Curve( edge, L, UMin, UMax );
-    GeomAdaptor_Curve AdaptCurve(C);
+    GeomAdaptor_Curve AdaptCurve(C, UMin, UMax);
     if ( AdaptCurve.GetType() != GeomAbs_Line )
     {
       vector< double > params;
index 57e84ae9d6028413670874c59ffd60c2047b7cfc..87af665b6af086270441b6ae5b2c3345bf2e1cdc 100644 (file)
@@ -147,7 +147,9 @@ StdMeshers_FaceSide::StdMeshers_FaceSide(const TopoDS_Face& theFace,
     // check if edge has non-uniform parametrization (issue 0020705)
     if ( !myC2d[i].IsNull() && myEdgeLength[i] > DBL_MIN)
     {
-      Geom2dAdaptor_Curve A2dC( myC2d[i] );
+      Geom2dAdaptor_Curve A2dC( myC2d[i],
+                                std::min( myFirst[i], myLast[i] ),
+                                std::max( myFirst[i], myLast[i] ));
       double p2 = myFirst[i]+(myLast[i]-myFirst[i])/2., p4 = myFirst[i]+(myLast[i]-myFirst[i])/4.;
       double d2 = GCPnts_AbscissaPoint::Length( A2dC, myFirst[i], p2 );
       double d4 = GCPnts_AbscissaPoint::Length( A2dC, myFirst[i], p4 );
index ba47e72bed7e54a67b56182e4e01efbd7976eae3..5e5cda73413582bb6401fc44f6151a7b1d7ebec7 100644 (file)
@@ -216,7 +216,7 @@ bool StdMeshers_LocalLength::SetParametersByMesh(const SMESH_Mesh*   theMesh,
   {
     const TopoDS_Edge& edge = TopoDS::Edge( edgeMap( iE ));
     Handle(Geom_Curve) C = BRep_Tool::Curve( edge, L, UMin, UMax );
-    GeomAdaptor_Curve AdaptCurve(C);
+    GeomAdaptor_Curve AdaptCurve(C, UMin, UMax);
 
     vector< double > params;
     SMESHDS_Mesh* aMeshDS = const_cast< SMESH_Mesh* >( theMesh )->GetMeshDS();
index c2e01f66d5bee901b7bbb240f5722b71fec18354..2ce20b5d6f4f016e20e5306f42f48503428ed75e 100644 (file)
@@ -207,7 +207,7 @@ bool StdMeshers_MaxLength::SetParametersByMesh(const SMESH_Mesh*   theMesh,
   {
     const TopoDS_Edge& edge = TopoDS::Edge( edgeMap( iE ));
     Handle(Geom_Curve) C = BRep_Tool::Curve( edge, L, UMin, UMax );
-    GeomAdaptor_Curve AdaptCurve(C);
+    GeomAdaptor_Curve AdaptCurve(C, UMin, UMax);
 
     vector< double > params;
     SMESHDS_Mesh* aMeshDS = const_cast< SMESH_Mesh* >( theMesh )->GetMeshDS();
index 0a2fe35b170321da5ed572271acb6538fef560da..d6e5a5431ecd8583505cd23eacf8544f4922c690 100644 (file)
@@ -216,7 +216,7 @@ bool StdMeshers_StartEndLength::SetParametersByMesh(const SMESH_Mesh*   theMesh,
   {
     const TopoDS_Edge& edge = TopoDS::Edge( edgeMap( i ));
     Handle(Geom_Curve) C = BRep_Tool::Curve(edge, L, UMin, UMax);
-    GeomAdaptor_Curve AdaptCurve(C);
+    GeomAdaptor_Curve AdaptCurve(C, UMin, UMax);
 
     vector< double > params;
     SMESHDS_Mesh* aMeshDS = const_cast< SMESH_Mesh* >( theMesh )->GetMeshDS();
index 634ca3d6178ce9b94c51643aa15aa43e1be1a545..9487a6148b003600eb140c0fdc2178a5b975f21e 100644 (file)
@@ -3616,7 +3616,7 @@ void _Shrinker1D::AddEdge( const _LayerEdge* e, SMESH_MesherHelper& helper )
       return;
     TopLoc_Location loc;
     Handle(Geom_Curve) C = BRep_Tool::Curve(E, loc, f,l);
-    GeomAdaptor_Curve aCurve(C);
+    GeomAdaptor_Curve aCurve(C, f,l);
     const double totLen = GCPnts_AbscissaPoint::Length(aCurve, f, l);
 
     int nbExpectNodes = eSubMesh->NbNodes() - e->_nodes.size();
@@ -3670,7 +3670,7 @@ void _Shrinker1D::Compute(bool set3D, SMESH_MesherHelper& helper)
   if ( set3D || _done )
   {
     Handle(Geom_Curve) C = BRep_Tool::Curve(E, f,l);
-    GeomAdaptor_Curve aCurve(C);
+    GeomAdaptor_Curve aCurve(C, f,l);
 
     if ( _edges[0] )
       f = helper.GetNodeU( E, _edges[0]->_nodes.back(), _nodes[0] );