0030595: Oriented Bounding Box seems not optimal for some shapes
authoremv <emv@opencascade.com>
Thu, 18 Apr 2019 08:17:18 +0000 (11:17 +0300)
committeremv <emv@opencascade.com>
Mon, 17 Jun 2019 06:26:54 +0000 (09:26 +0300)
commit1bb67d3844af0f972667f584d1d3112cfa2b83f0
treececbb675d91b0fd2bcc33a0e3bd7f709cabee826
parent6b41f0f335692887425b9940bb3c88da1ab9232a
0030595: Oriented Bounding Box seems not optimal for some shapes

Add possibility of construction of the Optimal Oriented Bounding Box from set of points (the case of shape with triangulation).

The interface of the BRepBndLib::AddOBB method is not changed, but the option <theIsOptimal> now controls also the construction of the OBB from Set of points.
The slightly modified DiTo algorithm will be used, checking all possible axes created by the extreme points.
The performance of the construction of the Optimal OBB is lower but the quality is usually much higher (can't be worse by definition).

Test cases for the issue.
12 files changed:
dox/user_guides/modeling_data/images/modeling_data_obb_125K.png [new file with mode: 0644]
dox/user_guides/modeling_data/images/modeling_data_opt_obb_125K.png [new file with mode: 0644]
dox/user_guides/modeling_data/images/modeling_data_pca_obb_125K.png [new file with mode: 0644]
dox/user_guides/modeling_data/modeling_data.md
src/BRepBndLib/BRepBndLib.hxx
src/BRepBndLib/BRepBndLib_1.cxx
src/BRepTest/BRepTest_BasicCommands.cxx
src/Bnd/Bnd_OBB.cxx
src/Bnd/Bnd_OBB.hxx
tests/bugs/modalg_7/bug30595_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug30595_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug30595_3 [new file with mode: 0644]