0025232: Functionality to create solids from set of shapes
authoremv <emv@opencascade.com>
Fri, 26 Sep 2014 12:41:20 +0000 (16:41 +0400)
committerbugmaster <bugmaster@opencascade.com>
Fri, 26 Sep 2014 13:12:29 +0000 (17:12 +0400)
commit92ae0f2fe3120a0714f733fd3d30e8ee19cfc5d6
treef1572f06bb4aafd048a23d190b63fdcf053d00a6
parent7277133aa98ed3ae859ed3252e332d61d359d85b
0025232: Functionality to create solids from set of shapes

Purpose:
The algorithm is to build solids from set of shapes.
It uses the BOPAlgo_Builder algorithm to intersect the given shapes and build the images
of faces (if needed) and BOPAlgo_BuilderSolid algorithm to build the solids.
Steps of the algorithm:
1. Collect all faces: intersect the shapes if necessary and collect  the images of faces,
   otherwise just collect the faces to the <myFaces> list.
   All faces on this step added twice, with orientation FORWARD and REVERSED;
2. Create bounding box covering all the faces from <myFaces> and create solid box from corner points
   of that bounding box (myBBox, mySBox). Add faces from that box to <myFaces>;
3. Build solids using faces from <myFaces> using BOPAlgo_BuilderSolid algorithm;
4. Treat the result: Eliminate solid containig faces from <mySBox>;
5. Fill internal shapes: add internal vertices and edges into created solids;
6. Prepare the history.

Fix for regression.
class BOPAlgo_BuilderSolid:
The tolerance value used in BRepClass3d_SolidClassifier has been increased.

Test cases for issue CR25232

Small correction to eliminate the warning.
22 files changed:
src/BOPAlgo/BOPAlgo.cdl
src/BOPAlgo/BOPAlgo_Builder.cdl
src/BOPAlgo/BOPAlgo_Builder.cxx
src/BOPAlgo/BOPAlgo_BuilderSolid.cxx
src/BOPAlgo/BOPAlgo_Builder_3.cxx
src/BOPAlgo/BOPAlgo_MakerVolume.cdl [new file with mode: 0644]
src/BOPAlgo/BOPAlgo_MakerVolume.cxx [new file with mode: 0644]
src/BOPAlgo/BOPAlgo_MakerVolume.lxx [new file with mode: 0644]
src/BOPTest/BOPTest_BOPCommands.cxx
src/TKBO/EXTERNLIB
tests/bugs/modalg_5/bug25232_1 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_10 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_11 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_12 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_2 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_3 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_4 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_5 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_6 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_7 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_8 [new file with mode: 0644]
tests/bugs/modalg_5/bug25232_9 [new file with mode: 0644]