void IntTools_FaceFace::Perform(const TopoDS_Face& aF1,
const TopoDS_Face& aF2)
{
- Standard_Boolean RestrictLine = Standard_False, hasCone = Standard_False;
+ Standard_Boolean RestrictLine = Standard_False;
if (myContext.IsNull()) {
myContext=new IntTools_Context;
BRepTools::UVBounds(myFace2, umin, umax, vmin, vmax);
CorrectSurfaceBoundaries(myFace2, (aTolF1 + aTolF2) * 2., umin, umax, vmin, vmax);
myHS2->ChangeSurface().Load(S2, umin, umax, vmin, vmax);
- //
- if( aType2==GeomAbs_Cone ) {
- TolArc = 0.0001;
- hasCone = Standard_True;
- }
}
else if ((aType2==GeomAbs_Plane) && isFace1Quad)
{
BRepTools::UVBounds(myFace2, umin, umax, vmin, vmax);
CorrectPlaneBoundaries(umin, umax, vmin, vmax);
myHS2->ChangeSurface().Load(S2, umin, umax, vmin, vmax);
- //
- if( aType1==GeomAbs_Cone ) {
- TolArc = 0.0001;
- hasCone = Standard_True;
- }
}
else
{
{
const Standard_Real UVMaxStep = 0.001;
- const Standard_Real Deflection = (hasCone) ? 0.085 : 0.1;
+ const Standard_Real Deflection = 0.1;
myIntersector.SetTolerances(TolArc, TolTang, UVMaxStep, Deflection);
}
# cone plane killed by cpulimit 300
# ? - because sometimes test is killed by elapsed time
-puts "TODO OCC26020 ALL: Error: bopcheck failed"
-puts "TODO OCC26020 ALL: Error : The area of result shape is"
-puts "TODO ?OCC26020 Linux: \\*\\* Exception"
-puts "TODO ?OCC26020 Linux: An exception"
+#puts "TODO OCC26020 Windows: Error : The area of result shape is"
+puts "TODO ?OCC26020 ALL: Error: bopcheck failed"
# planar face
plane pln_f1 460.8377555733228 -1160 121.87519451048833 -0.17364817766693036 1.1223734950417248e-017 0.98480775301220813
# make volume operation
mkvolume result f1 f2 f3 f4 f5 f6 f7
-checkprops result -s 0
+checkprops result -s 3.7173e+06
# test script on make volume operation
# cone plane killed by cpulimit 300
# ? - because sometimes test is killed by elapsed time
-
-puts "TODO OCC26020 ALL: Error: bopcheck failed"
-puts "TODO OCC26020 ALL: Error : The area of result shape is"
+puts "TODO ?OCC26020 ALL: Error: bopcheck failed"
# planar face
plane pln_f1 460.8377555733228 -1160 121.87519451048833 -0.17364817766693036 1.1223734950417248e-017 0.98480775301220813
# make volume operation
mkvolume result f1 f2 f3 f4 f5 f6 f7
-checkprops result -s 0
+checkprops result -s 1.00927e+07
+
--- /dev/null
+puts "================"
+puts "OCC27283"
+puts "================"
+puts ""
+#######################################################################
+# Regression vs 6.9.1: smesh/bugs_11/L9: invalid result of General Fuse
+#######################################################################
+
+restore [locate_data_file bug27283_shapes.brep] a
+set lst [explode a]
+
+bclearobjects
+bcleartools
+baddobjects a_1
+eval baddtools [lrange $lst 1 end]
+bfillds
+bbuild result0
+
+checkshape result0
+
+# extract the parts of result corresponding to object
+shape result C
+foreach s [explode a_1 So] {
+ bmodified r_$s $s
+ add r_$s result
+}
+
+checknbshapes result -solid 76 -shell 76 -face 279
+checkprops result -s 1880.4
+
+smallview
+don result
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png