0021727: BRepBuilderAPI_Copy (and possibly other similar tools) create new shape...
authorink <ink@opencascade.com>
Thu, 30 Apr 2015 11:09:32 +0000 (14:09 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 30 Apr 2015 11:11:07 +0000 (14:11 +0300)
Set the value of flag Frozen to false for shape created in BRepTools_Modifier. If shape is not newly created then value of flag Frozen don't changed.

Test-case for issue #21727

src/BRepTools/BRepTools_Modifier.cxx
tests/bugs/modalg_6/bug21727 [new file with mode: 0644]

index 0b47f43..059eb9a 100644 (file)
@@ -544,7 +544,6 @@ Standard_Boolean BRepTools_Modifier::Rebuild
   // Set flag of the shape.
   result.Orientation(ResOr);
 
-  result.Free      (S.Free());
   result.Modified  (S.Modified());
   result.Checked   (S.Checked());
   result.Orientable(S.Orientable());
diff --git a/tests/bugs/modalg_6/bug21727 b/tests/bugs/modalg_6/bug21727
new file mode 100644 (file)
index 0000000..ef64930
--- /dev/null
@@ -0,0 +1,23 @@
+puts "========"
+puts "OCC21727"
+puts "========"
+puts ""
+###########################################################################################
+# BRepBuilderAPI_Copy (and possibly other similar tools) create new shape in Frozen state
+###########################################################################################
+
+box b 10 10 10
+set bug_info [whatis b]
+if {[lindex $bug_info 6] != "Free"} {
+  puts "ERROR: OCC21727 is reproduced. Shape b does not have flag FREE."
+}
+compound b c
+set bug_info [whatis b]
+if {[lindex $bug_info 6] == "Free"} {
+  puts "ERROR: OCC21727 is reproduced. Shape b has flag FREE."
+}
+tcopy b q
+set bug_info [whatis q]
+if {[lindex $bug_info 6] != "Free"} {
+  puts "ERROR: OCC21727 is reproduced. Shape q does not have flag FREE."
+}