Salome HOME
0020852: [CEA] V5_1_4_BR - script fails
authoreap <eap@opencascade.com>
Thu, 29 Apr 2010 07:08:00 +0000 (07:08 +0000)
committereap <eap@opencascade.com>
Thu, 29 Apr 2010 07:08:00 +0000 (07:08 +0000)
 * correctly initialize fields used for non-uniformally parametrized edges
   in the case of degenerated edges

src/StdMeshers/StdMeshers_FaceSide.cxx

index 32f798dee5dfd9677dbaade884f861961b691119..85acfda3f359be60343a787957b3852f8d273ad2 100644 (file)
@@ -97,7 +97,7 @@ StdMeshers_FaceSide::StdMeshers_FaceSide(const TopoDS_Face& theFace,
   myLast.resize( nbEdges );
   myNormPar.resize( nbEdges );
   myEdgeLength.resize( nbEdges );
-  myIsUniform.resize( nbEdges );
+  myIsUniform.resize( nbEdges, true );
   myLength = 0;
   myNbPonits = myNbSegments = 0;
   myMesh = theMesh;
@@ -146,7 +146,7 @@ StdMeshers_FaceSide::StdMeshers_FaceSide(const TopoDS_Face& theFace,
       myMissingVertexNodes = true;
 
     // check if edge has non-uniform parametrization (issue 0020705)
-    if ( !myC2d[i].IsNull() )
+    if ( !myC2d[i].IsNull() && myEdgeLength[i] > DBL_MIN)
     {
       Geom2dAdaptor_Curve A2dC( myC2d[i] );
       double p2 = myFirst[i]+(myLast[i]-myFirst[i])/2., p4 = myFirst[i]+(myLast[i]-myFirst[i])/4.;