0028747: Incorrect result of the section operation after edge refinement
authoremv <emv@opencascade.com>
Thu, 26 Apr 2018 11:35:35 +0000 (14:35 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 14 Jun 2018 11:03:06 +0000 (14:03 +0300)
commit948fe6ca88af6a91710910e5f35c4bfbddae393b
treed0bea23d46d683d4454c24096934a577cc35f5be
parent894dba72a3798c807367a1c897f85bd024822677
0028747: Incorrect result of the section operation after edge refinement

Implementation of the method for simplification of the result of Boolean Operation on the API level.
The method BRepAlgoAPI_BuilderAlgo::SimplifyResult has been added, so the derived classes such as BooleanOpeation and Splitter can also use this method.
The result shape simplification should be called after the operation is done. The simplification is performed by the means of ShapeUpgrade_UnifySameDomain algorithm.

Draw command "bsimplify" has been added to control the simplification options.
Documentation for new functionality and draw commands controlling the options of Boolean operations.
Test cases for the new functionality.

Side-effect change:
The algorithms in Boolean component have been changed to use the BRepTools_History as a History tool.
Now it became possible to disable the collection of shapes modifications during Boolean Operations, which may be useful for performance sake (in draw the option is controlled by *setfillhistory* command).
Draw command "unifysamedom" has been changed to accept the angular tolerance in degrees instead of radians.
58 files changed:
dox/dev_guides/upgrade/upgrade.md
dox/user_guides/boolean_operations/boolean_operations.md
dox/user_guides/boolean_operations/images/bop_simple_001.png [new file with mode: 0644]
dox/user_guides/boolean_operations/images/bop_simple_002.png [new file with mode: 0644]
dox/user_guides/draw_test_harness/draw_test_harness.md
dox/user_guides/modeling_algos/modeling_algos.md
src/BOPAlgo/BOPAlgo_Builder.cxx
src/BOPAlgo/BOPAlgo_Builder.hxx
src/BOPAlgo/BOPAlgo_BuilderShape.cxx [deleted file]
src/BOPAlgo/BOPAlgo_BuilderShape.hxx
src/BOPAlgo/BOPAlgo_Builder_4.cxx
src/BOPAlgo/BOPAlgo_CellsBuilder.cxx
src/BOPAlgo/BOPAlgo_CellsBuilder.hxx
src/BOPAlgo/BOPAlgo_RemoveFeatures.cxx
src/BOPAlgo/BOPAlgo_RemoveFeatures.hxx
src/BOPAlgo/FILES
src/BOPTest/BOPTest_APICommands.cxx
src/BOPTest/BOPTest_BOPCommands.cxx
src/BOPTest/BOPTest_CellsCommands.cxx
src/BOPTest/BOPTest_Objects.cxx
src/BOPTest/BOPTest_Objects.hxx
src/BOPTest/BOPTest_OptionCommands.cxx
src/BOPTest/BOPTest_PartitionCommands.cxx
src/BOPTest/BOPTest_RemoveFeaturesCommands.cxx
src/BRepAlgoAPI/BRepAlgoAPI_BooleanOperation.cxx
src/BRepAlgoAPI/BRepAlgoAPI_BooleanOperation.hxx
src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.cxx
src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.hxx
src/BRepAlgoAPI/BRepAlgoAPI_Defeaturing.cxx
src/BRepAlgoAPI/BRepAlgoAPI_Defeaturing.hxx
src/BRepAlgoAPI/BRepAlgoAPI_Splitter.cxx
src/BRepAlgoAPI/BRepAlgoAPI_Splitter.hxx
src/BRepFeat/BRepFeat_Builder.cxx
src/BRepTest/BRepTest_FeatureCommands.cxx
src/BRepTest/BRepTest_FilletCommands.cxx
src/BRepTest/BRepTest_HistoryCommands.cxx
src/BRepTest/BRepTest_Objects.cxx
src/BRepTest/BRepTest_Objects.hxx
src/BRepTest/BRepTest_SweepCommands.cxx
src/BRepTools/BRepTools_History.cxx
src/BRepTools/BRepTools_History.hxx
src/SWDRAW/SWDRAW_ShapeUpgrade.cxx
src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.hxx
tests/boolean/grids.list
tests/boolean/history/A9 [new file with mode: 0644]
tests/boolean/simplify/A1 [new file with mode: 0644]
tests/boolean/simplify/A2 [new file with mode: 0644]
tests/boolean/simplify/A3 [new file with mode: 0644]
tests/boolean/simplify/A4 [new file with mode: 0644]
tests/boolean/simplify/A5 [new file with mode: 0644]
tests/bugs/heal/bug27729
tests/bugs/modalg_6/bug28207
tests/bugs/modalg_6/bug28343_1
tests/bugs/modalg_6/bug28343_2
tests/perf/modalg/bug26513
tests/perf/modalg/bug29237_1
tests/perf/modalg/bug29237_2
tests/perf/modalg/bug29237_3