0027878: Development of the Gluing operations based on the new Boolean component
authoremv <emv@opencascade.com>
Thu, 8 Dec 2016 13:49:29 +0000 (16:49 +0300)
committerapn <apn@opencascade.com>
Thu, 8 Dec 2016 13:50:17 +0000 (16:50 +0300)
commit483ce1bd899ed7b872898b099c19c91465187477
treea06f7224fa4d7ba0c464d054df05dfd99d5375c7
parentb4327ba8dff511dec260ae47418c1d263b8e2c18
0027878: Development of the Gluing operations based on the new Boolean component

The Gluing operation is an additional option for the algorithms in the Boolean Component
such as General Fuse, Boolean operations, Section operation, Maker Volume and Cells Builder algorithms.

The Gluing options have been designed to speed up the computation of the interference among arguments of the operations on special cases,
in which the arguments may be overlapping but do not have real intersections between their sub-shapes.

This option cannot be used on the shapes having real intersections, like intersection vertex between edges,
or intersection vertex between edge and a face or intersection line between faces.

The Gluing option is an enumeration implemented in BOPAlgo_GlueEnum.hxx. There are following items in the enum:
* BOPAlgo_GlueOff - default value for the algorithms, Gluing is switched off;
* BOPAlgo_GlueShift - Glue option for shapes with partial coincidence;
* BOPAlgo_GlueFull - Glue option for shapes with full coincidence.

For setting the Gluing options for the algorithm it is just necessary to call the SetGlue(BOPAlgo_GlueEnum) method with appropriate Glue value.

For using this option in DRAW the command bglue has been implemented:
* 0 - default value, Gluing is off;
* 1 - for partial coincidence;
* 2 - for full coincidence

Elimination of the warnings.
33 files changed:
dox/user_guides/boolean_operations/boolean_operations.md
dox/user_guides/boolean_operations/images/glue_options_image001.PNG [new file with mode: 0644]
dox/user_guides/boolean_operations/images/glue_options_image002.PNG [new file with mode: 0644]
dox/user_guides/boolean_operations/images/glue_options_image003.PNG [new file with mode: 0644]
dox/user_guides/boolean_operations/images/glue_options_image004.PNG [new file with mode: 0644]
dox/user_guides/boolean_operations/images/glue_options_image005.PNG [new file with mode: 0644]
src/BOPAlgo/BOPAlgo_BOP.cxx
src/BOPAlgo/BOPAlgo_Builder.cxx
src/BOPAlgo/BOPAlgo_Builder.hxx
src/BOPAlgo/BOPAlgo_GlueEnum.hxx [new file with mode: 0644]
src/BOPAlgo/BOPAlgo_MakerVolume.cxx
src/BOPAlgo/BOPAlgo_PaveFiller.cxx
src/BOPAlgo/BOPAlgo_PaveFiller.hxx
src/BOPAlgo/BOPAlgo_PaveFiller_4.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx
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/BRepAlgoAPI/BRepAlgoAPI_BooleanOperation.cxx
src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.cxx
src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.hxx
tests/bugs/modalg_6/bug27878_1 [new file with mode: 0644]
tests/bugs/modalg_6/bug27878_2 [new file with mode: 0644]
tests/bugs/modalg_6/bug27878_3 [new file with mode: 0644]
tests/bugs/modalg_6/bug27878_4 [new file with mode: 0644]
tests/bugs/modalg_6/bug27878_5 [new file with mode: 0644]
tests/bugs/modalg_6/bug27878_6 [new file with mode: 0644]