]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
NPAL15898: KindOfShape doesn't detect all planar faces.
authorjfa <jfa@opencascade.com>
Fri, 11 May 2007 08:44:48 +0000 (08:44 +0000)
committerjfa <jfa@opencascade.com>
Fri, 11 May 2007 08:44:48 +0000 (08:44 +0000)
src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller.cxx

index 0e53aa6e4240ff78f495c3daeea165415c63420c..299fb5b1affd293f46cabde36b8c2bc80c9b6d96 100644 (file)
@@ -317,9 +317,6 @@ static
   aF=TopoDS::Face(aS);
   //
   aNbWires=NbWires(aF);
-  if (aNbWires>1) {
-    return;
-  }
   //
   aSurf=BRep_Tool::Surface(aF);
   GeomAdaptor_Surface aGAS(aSurf);
@@ -342,6 +339,8 @@ static
     aInfo.SetLocation(aP0);
     aInfo.SetPosition(aAx3);
     //
+    if (aNbWires>1) return;
+    //
     //aSurf->Bounds(aUMin, aUMax, aVMin, aVMax);
     BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
     bInfU1=Precision::IsNegativeInfinite(aUMin);
@@ -374,6 +373,8 @@ static
     aInfo.SetPosition(aAx3);
     aInfo.SetRadius1(aR1);
     //
+    if (aNbWires>1) return;
+    //
     aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
     aInfo.SetKindOfClosed(GEOMAlgo_KC_CLOSED);
     //
@@ -394,6 +395,8 @@ static
     aInfo.SetPosition(aAx3);
     aInfo.SetRadius1(aR1);
     //
+    if (aNbWires>1) return;
+    //
     BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
     bInfU1=Precision::IsNegativeInfinite(aUMin);
     bInfU2=Precision::IsPositiveInfinite(aUMax);
@@ -424,6 +427,8 @@ static
     aInfo.SetPosition(aAx3);
     //aInfo.SetRadius1(aR1);
     //
+    if (aNbWires>1) return;
+    //
     BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
     bInfU1=Precision::IsNegativeInfinite(aUMin);
     bInfU2=Precision::IsPositiveInfinite(aUMax);
@@ -456,8 +461,10 @@ static
     aInfo.SetRadius1(aR1);
     aInfo.SetRadius2(aR2);
     //
+    if (aNbWires>1) return;
+    //
     aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
-    
+    //
     FillDetails(aF, aTorus);
   }
 }