Hotfix for issue 27271 (avoiding potential seam edges) is deleted.
Correction of test case
TopoDS_Edge UnionEdges;
};
-static Standard_Boolean IsLikeSeam(const TopoDS_Edge& anEdge,
- const TopoDS_Face& aFace,
- const Handle(Geom_Surface)& aBaseSurface)
-{
- if (!aBaseSurface->IsUPeriodic() && !aBaseSurface->IsVPeriodic())
- return Standard_False;
-
- BRepAdaptor_Curve2d BAcurve2d(anEdge, aFace);
- gp_Pnt2d FirstPoint, LastPoint;
- gp_Vec2d FirstDir, LastDir;
- BAcurve2d.D1(BAcurve2d.FirstParameter(), FirstPoint, FirstDir);
- BAcurve2d.D1(BAcurve2d.LastParameter(), LastPoint, LastDir);
- Standard_Real Length = FirstDir.Magnitude();
- if (Length <= gp::Resolution())
- return Standard_False;
- else
- FirstDir /= Length;
- Length = LastDir.Magnitude();
- if (Length <= gp::Resolution())
- return Standard_False;
- else
- LastDir /= Length;
-
- Standard_Real Tol = 1.e-7;
- if (aBaseSurface->IsUPeriodic() &&
- (Abs(FirstDir.X()) < Tol) &&
- (Abs(LastDir.X()) < Tol))
- return Standard_True;
-
- if (aBaseSurface->IsVPeriodic() &&
- (Abs(FirstDir.Y()) < Tol) &&
- (Abs(LastDir.Y()) < Tol))
- return Standard_True;
-
- return Standard_False;
-}
-
//=======================================================================
//function : AddOrdinaryEdges
//purpose : auxilary
//
if (IsSameDomain(aFace,anCheckedFace, myLinTol, myAngTol)) {
- // hotfix for 27271: prevent merging along periodic direction.
- if (IsLikeSeam(edge, anCheckedFace, aBaseSurface))
- continue;
-
if (AddOrdinaryEdges(edges,anCheckedFace,dummy)) {
// sequence edges is modified
i = dummy;
removefeatures res1 s feature1
checkshape res1
checkprops res1 -s 2387.42 -v 1060.96 -deps 1.e-7
-checknbshapes res1 -vertex 68 -edge 102 -wire 36 -face 36 -shell 1 -solid 1 -t
+checknbshapes res1 -vertex 66 -edge 99 -wire 35 -face 35 -shell 1 -solid 1 -t
CheckIsFeatureRemoved feature1 {v e f}
removefeatures res3 s feature1 feature2
removefeatures res4 s feature3
checkshape res4
checkprops res4 -s 2387.67 -v 1060.68 -deps 1.e-7
-checknbshapes res4 -vertex 70 -edge 105 -wire 37 -face 37 -shell 1 -solid 1 -t
+checknbshapes res4 -vertex 67 -edge 100 -wire 35 -face 35 -shell 1 -solid 1 -t
CheckIsFeatureRemoved feature3 {v e f}
removefeatures res5 s feature4
checkshape res5
-checkprops res5 -s 2387.67 -v 1060.68 -deps 1.e-7
-checknbshapes res5 -vertex 70 -edge 105 -wire 37 -face 37 -shell 1 -solid 1 -t
+checkprops res5 -s 2387.67 -v 1060.67 -deps 1.e-7
+checknbshapes res5 -vertex 67 -edge 100 -wire 35 -face 35 -shell 1 -solid 1 -t
CheckIsFeatureRemoved feature4 {v e f}
removefeatures res6 s feature3 feature4
checkshape res6
checkprops res6 -s 2387.89 -v 1060.71 -deps 1.e-7
-checknbshapes res6 -vertex 68 -edge 102 -wire 36 -face 36 -shell 1 -solid 1 -t
+checknbshapes res6 -vertex 65 -edge 97 -wire 34 -face 34 -shell 1 -solid 1 -t
CheckIsFeatureRemoved feature3 {v e f}
CheckIsFeatureRemoved feature4 {v e f}
removefeatures res1 s feature1
checkshape res1
checkprops res1 -s 2387.38 -v 1060.67 -deps 1.e-7
-checknbshapes res1 -vertex 62 -edge 93 -wire 33 -face 33 -shell 1 -solid 1
+checknbshapes res1 -vertex 60 -edge 89 -wire 31 -face 31 -shell 1 -solid 1
CheckIsFeatureRemoved feature1 {v e f}
removefeatures res2 s feature2
checkshape res2
checkprops res2 -s 2387.17 -v 1060.75 -deps 1.e-7
-checknbshapes res2 -vertex 62 -edge 93 -wire 35 -face 34 -shell 1 -solid 1
+checknbshapes res2 -vertex 60 -edge 89 -wire 33 -face 32 -shell 1 -solid 1
CheckIsFeatureRemoved feature2 {v e f}
removefeatures res3 s gap
checkshape res3
checkprops res3 -s 2386.99 -v 1060.79 -deps 1.e-7
-checknbshapes res3 -vertex 54 -edge 81 -wire 29 -face 29 -shell 1 -solid 1
+checknbshapes res3 -vertex 52 -edge 77 -wire 27 -face 27 -shell 1 -solid 1
CheckIsFeatureRemoved gap {v e f}
removefeatures res s gap
checkshape res
checkprops res -s 2387.07 -v 1060.76 -deps 1.e-7
-checknbshapes res -vertex 64 -edge 96 -wire 34 -face 34 -shell 1 -solid 1
+checknbshapes res -vertex 62 -edge 92 -wire 32 -face 32 -shell 1 -solid 1
CheckIsFeatureRemoved gap {v e f}
removefeatures res1 s feature1 feature2
checkshape res1
checkprops res1 -s 2387.88 -v 1060.71 -deps 1.e-7
-checknbshapes res1 -vertex 68 -edge 102 -wire 36 -face 36 -shell 1 -solid 1
+checknbshapes res1 -vertex 65 -edge 97 -wire 34 -face 34 -shell 1 -solid 1
CheckIsFeatureRemoved feature1 {v e f}
CheckIsFeatureRemoved feature2 {v e f}
removefeatures res2 s feature3
checkshape res2
checkprops res2 -s 2391.13 -v 1064.08 -deps 1.e-7
-checknbshapes res2 -vertex 66 -edge 99 -wire 35 -face 35 -shell 1 -solid 1
+checknbshapes res2 -vertex 63 -edge 94 -wire 33 -face 33 -shell 1 -solid 1
CheckIsFeatureRemoved feature3 {v e f}
removefeatures res3 s gap
checkshape res3
checkprops res3 -s 2392.93 -v 1065.38 -deps 1.e-7
-checknbshapes res3 -vertex 60 -edge 90 -wire 32 -face 32 -shell 1 -solid 1
+checknbshapes res3 -vertex 57 -edge 85 -wire 30 -face 30 -shell 1 -solid 1
CheckIsFeatureRemoved gap {v e f}
removefeatures res s spike
checkshape res
checkprops res -s 2323.49 -v 1037.57 -deps 1.e-7
-checknbshapes res -vertex 64 -edge 96 -wire 34 -face 34 -shell 1 -solid 1
+checknbshapes res -vertex 61 -edge 91 -wire 32 -face 32 -shell 1 -solid 1
CheckIsFeatureRemoved spike {v e f}
removefeatures res s spike
checkshape res
checkprops res -s 2323.49 -v 1037.57 -deps 1.e-7
-checknbshapes res -vertex 64 -edge 96 -wire 34 -face 34 -shell 1 -solid 1
+checknbshapes res -vertex 61 -edge 91 -wire 32 -face 32 -shell 1 -solid 1
CheckIsFeatureRemoved spike {v e f}
# get history of the operation
# check modification of the top face
modified m5 rf_hist s_5
checkprops m5 -s 1089.87
-checknbshapes m5 -vertex 31 -edge 31 -wire 1 -face 1
+checknbshapes m5 -vertex 29 -edge 29 -wire 1 -face 1
# check modification of the side faces where the spike was located
modified m10 rf_hist s_10
-puts "TODO OCC29504 ALL: Faulty shapes in variables faulty_1 to"
-
pload XDE
stepread [locate_data_file bug29481_L3.step] s *
removefeatures result s feature
checkshape result
-checkprops result -s 2386.95 -v 1064.36 -deps 1.e-7
-checknbshapes result -vertex 62 -edge 93 -wire 35 -face 34 -shell 1 -solid 1
+checkprops result -s 2392.41 -v 1063.75 -deps 1.e-7
+checknbshapes result -vertex 61 -edge 91 -wire 34 -face 33 -shell 1 -solid 1
CheckIsFeatureRemoved feature {e f}
removefeatures result s s_13
checkshape result
checkprops result -s 463.068 -v 194.214 -deps 1.e-7
-checknbshapes result -vertex 32 -edge 53 -wire 24 -face 21 -shell 1 -solid 1
+checknbshapes result -vertex 31 -edge 50 -wire 23 -face 20 -shell 1 -solid 1
CheckIsFeatureRemoved s_13 {v e f}
# get history of the operation
removefeatures result s s_14
checkshape result
checkprops result -s 462.33 -v 194.594 -deps 1.e-7
-checknbshapes result -vertex 34 -edge 54 -wire 24 -face 21 -shell 1 -solid 1 -t
+checknbshapes result -vertex 33 -edge 51 -wire 23 -face 20 -shell 1 -solid 1 -t
CheckIsFeatureRemoved s_14 {e f}
# get history of the operation
# check modification of the top face
modified m1 rf_hist s_1
checkprops m1 -s 171.478
-checknbshapes m1 -vertex 14 -edge 14 -wire 3 -face 1
+checknbshapes m1 -vertex 13 -edge 13 -wire 3 -face 1
generated g1 rf_hist s_1
checknbshapes g1 -vertex 1 -edge 1
removefeatures result s s_15
checkshape result
checkprops result -s 462.273 -v 193.127 -deps 1.e-7
-checknbshapes result -vertex 34 -edge 54 -wire 24 -face 21 -shell 1 -solid 1 -t
+checknbshapes result -vertex 33 -edge 51 -wire 23 -face 20 -shell 1 -solid 1 -t
CheckIsFeatureRemoved s_15 {e f}
# get history of the operation
# check modification of the top face
modified m1 rf_hist s_1
checkprops m1 -s 172.452
-checknbshapes m1 -vertex 14 -edge 14 -wire 3 -face 1
+checknbshapes m1 -vertex 13 -edge 13 -wire 3 -face 1
generated g1 rf_hist s_1
checknbshapes g1 -vertex 1 -edge 1
removefeatures result s s_4
checkshape result
checkprops result -s 462.815 -v 195.248 -deps 1.e-7
-checknbshapes result -vertex 31 -edge 50 -wire 23 -face 20 -shell 1 -solid 1
+checknbshapes result -vertex 30 -edge 47 -wire 22 -face 19 -shell 1 -solid 1
CheckIsFeatureRemoved s_4 {v e f}
# get history of the operation
# check modification of the top face
modified m1 rf_hist s_1
checkprops m1 -s 169.122
-checknbshapes m1 -vertex 12 -edge 12 -wire 3 -face 1
+checknbshapes m1 -vertex 11 -edge 11 -wire 3 -face 1
# check modification of the side faces
modified m3 rf_hist s_3
removefeatures result s s_6 s_18
checkshape result
checkprops result -s 461.315 -v 196.178 -deps 1.e-7
-checknbshapes result -vertex 30 -edge 50 -wire 23 -face 20 -shell 1 -solid 1
+checknbshapes result -vertex 29 -edge 47 -wire 22 -face 19 -shell 1 -solid 1
CheckIsFeatureRemoved s_6 {v e f}
CheckIsFeatureRemoved s_18 {v e f}
# check modification of the top face
modified m1 rf_hist s_1
checkprops m1 -s 172.551
-checknbshapes m1 -vertex 14 -edge 14 -wire 3 -face 1
+checknbshapes m1 -vertex 13 -edge 13 -wire 3 -face 1
# check modification of the side face
modified m19 rf_hist s_19
removefeatures result s s_14 s_20
checkshape result
checkprops result -s 462.33 -v 197.735 -deps 1.e-7
-checknbshapes result -vertex 32 -edge 51 -wire 21 -face 20 -shell 1 -solid 1
+checknbshapes result -vertex 31 -edge 48 -wire 20 -face 19 -shell 1 -solid 1
CheckIsFeatureRemoved s_14 {v e f}
CheckIsFeatureRemoved s_20 {v e f}
# check modification of the top and bottom faces
modified m1 rf_hist s_1
checkprops m1 -s 174.62
-checknbshapes m1 -vertex 13 -edge 13 -wire 2 -face 1
+checknbshapes m1 -vertex 12 -edge 12 -wire 2 -face 1
modified m16 rf_hist s_16
checkprops m16 -s 194.429
removefeatures result s s_15 s_21 s_22
checkshape result
checkprops result -s 449.707 -v 186.844 -deps 1.e-7
-checknbshapes result -vertex 31 -edge 51 -wire 21 -face 19 -shell 1 -solid 1
+checknbshapes result -vertex 30 -edge 48 -wire 20 -face 18 -shell 1 -solid 1
CheckIsFeatureRemoved s_15 {v e f}
CheckIsFeatureRemoved s_21 {v e f}
CheckIsFeatureRemoved s_22 {v e f}
# check modification of the top face
modified m1 rf_hist s_1
checkprops m1 -s 175.593
-checknbshapes m1 -vertex 13 -edge 13 -wire 2 -face 1
+checknbshapes m1 -vertex 12 -edge 12 -wire 2 -face 1
# check that no new intersections have been created
if {![regexp "No shapes were generated" [generated g1 rf_hist s_1]]} {
removefeatures result s fillet blend
checkshape result
checkprops result -s 809750 -v 1.46451e+007 -deps 1.e-7
-checknbshapes result -vertex 258 -edge 394 -wire 164 -face 139 -shell 1 -solid 1 -t
+checknbshapes result -vertex 250 -edge 378 -wire 156 -face 131 -shell 1 -solid 1 -t
CheckIsFeatureRemoved fillet {e f}
CheckIsFeatureRemoved blend {e f}
removefeatures result s gaps
checkshape result
checkprops result -s 813251 -v 1.49885e+007 -deps 1.e-7
-checknbshapes result -vertex 230 -edge 358 -wire 156 -face 131 -shell 1 -solid 1 -t
+checknbshapes result -vertex 216 -edge 334 -wire 146 -face 121 -shell 1 -solid 1 -t
CheckIsFeatureRemoved gaps {v e f}
checkview -display result -2d -path ${imagedir}/${test_image}.png
removefeatures result s holes
checkshape result
checkprops result -s 798285 -v 1.51114e+007 -deps 1.e-7
-checknbshapes result -vertex 246 -edge 382 -wire 160 -face 139 -shell 1 -solid 1 -t
+checknbshapes result -vertex 234 -edge 362 -wire 152 -face 131 -shell 1 -solid 1 -t
CheckIsFeatureRemoved holes {v e f}
checkview -display result -2d -path ${imagedir}/${test_image}.png
removefeatures result s fillets
checkshape result
checkprops result -s 811691 -v 1.46014e+007 -deps 1.e-7
-checknbshapes result -vertex 246 -edge 382 -wire 164 -face 139 -shell 1 -solid 1 -t
+checknbshapes result -vertex 234 -edge 362 -wire 156 -face 131 -shell 1 -solid 1 -t
CheckIsFeatureRemoved fillets {v e f}
checkview -display result -2d -path ${imagedir}/${test_image}.png
foreach r {r1 r2} {
checkshape $r
- checknbshapes $r -wire 19 -face 17 -shell 1 -solid 1
+ checknbshapes $r -wire 17 -face 15 -shell 1 -solid 1
checkprops $r -s 421523 -v 2.04083e+006 -deps 1.e-7
}
CheckIsFeatureRemoved a_1 {f}
CheckIsFeatureRemoved a_8 {f}
checkshape result
-checknbshapes result -wire 22 -face 20 -shell 1 -solid 1
+checknbshapes result -wire 15 -face 13 -shell 1 -solid 1
checkprops result -s 421862 -v 2.04152e+006 -deps 1.e-7
checkview -display result -2d -path ${imagedir}/${test_image}.png
-puts "TODO OCC30099 ALL: Faulty shapes in variables faulty_1 to faulty_"
puts "TODO OCC30099 ALL: Error : The area of result shape is"
puts "TODO OCC30099 ALL: Error : The volume of result shape is"
removefeatures r1 a a_8
CheckIsFeatureRemoved a_8 {f}
checkshape r1
-checknbshapes r1 -wire 19 -face 17 -shell 1 -solid 1
+checknbshapes r1 -wire 17 -face 15 -shell 1 -solid 1
checkprops r1 -s 421523 -v 2.04083e+006 -deps 1.e-7
removefeatures result a a_1 a_6 a_8
CheckIsFeatureRemoved a_8 {f}
checkshape result
-checknbshapes result -wire 25 -face 23 -shell 1 -solid 1
+checknbshapes result -wire 14 -face 12 -shell 1 -solid 1
checkprops result -s 422201 -v 2.042204e+006 -deps 1.e-7
checkview -display result -2d -path ${imagedir}/${test_image}.png
boptions -default
checkshape plate
-checknbshapes plate -vertex 212 -edge 318 -wire 110 -face 109 -shell 1 -solid 1
+checknbshapes plate -vertex 202 -edge 303 -wire 105 -face 104 -shell 1 -solid 1
checkprops plate -s 18541.7 -v 64444.2
checkview -display plate -2d -path ${imagedir}/${test_image}_2.png
restore [locate_data_file bug27000_1.brep] shape
unifysamedom result shape
checkshape result
-checknbshapes result -vertex 62 -edge 90 -wire 36 -face 34 -shell 2 -solid 2 -compsolid 0 -compound 1 -shape 227
\ No newline at end of file
+checknbshapes result -vertex 60 -edge 87 -wire 35 -face 33 -shell 2 -solid 2 -compsolid 0 -compound 1 -shape 220
\ No newline at end of file
+puts "TODO OCC30320 ALL: Faulty shapes in variables faulty_"
+
puts "============"
puts "OCC27894"
puts "============"
renamevar a_1 a
unifysamedom result a
-checknbshapes result -m UnifySameDomain -face 18 -edge 45
+checknbshapes result -m UnifySameDomain -face 9 -edge 21
+
+checkshape result
checkview -display result -2d -path ${imagedir}/${test_image}.png
restore [locate_data_file bug27271_Shape.brep] a
unifysamedom result a
-checkshape result
\ No newline at end of file
+
+checkshape result
+
+checknbshapes result -vertex 44 -edge 81 -wire 45 -face 35 -shell 3 -solid 3
+
+set tolres [checkmaxtol result]
+
+if { ${tolres} > 0.003} {
+ puts "Error: bad tolerance of result"
+}
--- /dev/null
+puts "============"
+puts "OCC30174"
+puts "============"
+puts ""
+###########################################################################################################
+# ShapeUpgrade_UnifySameDomain does not unify cylindrical faces
+###########################################################################################################
+
+restore [locate_data_file bug30174_cylinder.brep] a
+unifysamedom result a
+
+checkshape result
+
+checknbshapes result -vertex 2 -edge 3 -wire 3 -face 3 -shell 1 -solid 1
+
+set tolres [checkmaxtol result]
+
+if { ${tolres} > 2.e-5} {
+ puts "Error: bad tolerance of result"
+}