]> OCCT Git - occt.git/commitdiff
0031766: Modeling Algorithms - Instability on pipe bugs bug26088 test case
authorjgv <jgv@opencascade.com>
Mon, 14 Sep 2020 15:51:50 +0000 (18:51 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 18 Sep 2020 14:47:03 +0000 (17:47 +0300)
Correction in GeomFill_Sweep: set the flags "myExchUV", "isUReversed", "isVReversed" to FALSE (initial state) after failure of BuildKPart method.

src/GeomFill/GeomFill_Sweep.cxx
tests/pipe/bugs/bug26088

index af96a3d6ea905b4d6e0919bdc9e8d6dabd81153e..95804f3d26a972d6f9498c3789c6cc6e1e7cb7b4 100644 (file)
@@ -219,6 +219,12 @@ GeomFill_Sweep::GeomFill_Sweep(const Handle(GeomFill_LocationLaw)& Location,
  
  // Traitement des KPart
  if (myKPart)  isKPart = BuildKPart();
+
+ if (!isKPart)
+ {
+   myExchUV = Standard_False;
+   isUReversed = isVReversed = Standard_False;
+ }
  
  // Traitement des produits Formelles
  if ((!isKPart) && (Methode == GeomFill_Location)) {
@@ -876,6 +882,7 @@ static Standard_Boolean IsSweepParallelSpine (const Handle(GeomFill_LocationLaw)
               // l == f - "degenerated" surface
               // UlastOnSec - UfirstOnSec > M_PI_2 - "twisted" surface,
               // it is impossible to represent with help of trimmed sphere
+             isUReversed = Standard_False;
               return Ok;
             }
 
index 3550592973c994320cfc4d1c514db3217719a872..f965759185db155820d38c8fb11f32752276eac3 100755 (executable)
@@ -10,6 +10,16 @@ restore [locate_data_file bug26088_profile0.brep] pr
 # path and profile
 pipe result p pr
 
+checkshape result
+
+checknbshapes result -vertex 8 -edge 14 -wire 6 -face 6 -shell 1
+
+set tolres [checkmaxtol result]
+
+if { ${tolres} > 1.e-4} {
+   puts "Error: bad tolerance of result"
+}
+
 smallview
 fit
 checkview -screenshot -2d -path ${imagedir}/${test_image}.png