]> OCCT Git - occt-copy.git/commit
0029312: Using OBB to speed up Boolean Operations
authoremv <emv@opencascade.com>
Wed, 1 Nov 2017 08:30:30 +0000 (11:30 +0300)
committeremv <emv@opencascade.com>
Fri, 29 Jun 2018 10:55:26 +0000 (13:55 +0300)
commit388a3e539a47e1d66544646b7621e76436cad407
treeb848c5d59f53fb124c173eeb732490aabe95e637
parentf1c54119fba2d114a0f90898b0eb03b66e3732dc
0029312: Using OBB to speed up Boolean Operations

1. Implementation of the user-defined option for usage of Oriented Bounding Boxes (OBB) in Boolean Operations for additional filtering (rejection) of selected for intersection pairs of sub-shapes.

By default the usage of OBB is turned off.
To enable/disable its usage the method SetUseOBB(flag) should be used. This method is available for all operations in Boolean Component.
To enable/disable it in draw the command "buseobb 0/1" should be used. Note, that this will affect all subsequent operations.

The OBB for the shapes are built by first necessity and stored into operation context (IntTools_Context).

2. Usage of the OBB in some test cases.
34 files changed:
dox/user_guides/boolean_operations/boolean_operations.md
src/BOPAlgo/BOPAlgo_BOP.cxx
src/BOPAlgo/BOPAlgo_Builder.cxx
src/BOPAlgo/BOPAlgo_CheckerSI.cxx
src/BOPAlgo/BOPAlgo_MakerVolume.cxx
src/BOPAlgo/BOPAlgo_Options.cxx
src/BOPAlgo/BOPAlgo_Options.hxx
src/BOPAlgo/BOPAlgo_PaveFiller.cxx
src/BOPAlgo/BOPAlgo_Splitter.cxx
src/BOPDS/BOPDS_Iterator.cxx
src/BOPDS/BOPDS_Iterator.hxx
src/BOPDS/BOPDS_IteratorSI.cxx
src/BOPDS/BOPDS_IteratorSI.hxx
src/BOPTest/BOPTest_APICommands.cxx
src/BOPTest/BOPTest_BOPCommands.cxx
src/BOPTest/BOPTest_CellsCommands.cxx
src/BOPTest/BOPTest_DebugCommands.cxx
src/BOPTest/BOPTest_Objects.cxx
src/BOPTest/BOPTest_Objects.hxx
src/BOPTest/BOPTest_OptionCommands.cxx
src/BOPTest/BOPTest_PartitionCommands.cxx
src/BRepAlgoAPI/BRepAlgoAPI_Algo.hxx
src/BRepAlgoAPI/BRepAlgoAPI_BooleanOperation.cxx
src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.cxx
src/BRepAlgoAPI/BRepAlgoAPI_Splitter.cxx
src/IntTools/IntTools_Context.cxx
src/IntTools/IntTools_Context.hxx
tests/perf/modalg/bug24751_1
tests/perf/modalg/bug24751_2
tests/perf/modalg/bug24751_3
tests/perf/modalg/bug24751_4
tests/perf/modalg/bug24751_5
tests/perf/modalg/bug29237_2
tests/perf/modalg/bug29237_3