]> OCCT Git - occt-copy.git/commit
0029481: Implementation of the Feature Removal algorithm
authoremv <emv@opencascade.com>
Tue, 6 Feb 2018 05:48:27 +0000 (08:48 +0300)
committeremv <emv@opencascade.com>
Fri, 13 Apr 2018 07:59:19 +0000 (10:59 +0300)
commit5d706f2fa064924d91db0f16118e4df7a0f04c21
treea769cc96b3faafddc73a505b3ead50eeaa8eed9e
parent70b3dfe471290b21eb13dc30e4c5fa79cb49bce9
0029481: Implementation of the Feature Removal algorithm

Implementation of the 3D model De-featuring algorithm intended for the removal of the unwanted parts (or features) from the model consisting of solids. The features can be the holes, protrusions, gaps, chamfers, fillets etc.
The algorithm removes all possible requested features from the shape and builds the new shape as a result. The input model is not modified.

On the API level the algorithm is implemented in the class *BRepAlgoAPI_Defeaturing*. The actual features removal is performed by the low-level algorithm *BOPAlgo_RemoveFeatures*.

Documentation of the new classes.
Implementation of the DRAW commands for working with new algorithm.
Test cases for the new functionality.

Changes in other algorithms used by De-featuring algorithm:
- Provide history support for the solids in *ShapeUpgrade_UnifySameDomain* algorithm;
- Implementation of the mechanism to merge History of any Algorithm with standard history methods such as IsDeleted(), Modified() and Generated() into *BRepTools_History*;
- Correction of the ElCLib::CircleParameter().
114 files changed:
dox/user_guides/draw_test_harness/draw_test_harness.md
dox/user_guides/modeling_algos/images/modeling_algos_rf_im001.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im002.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im003.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im004.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im005.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im006.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im007.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im008.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im009.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im010.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im011.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im012.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im013.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im014.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im015.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im016.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im017.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im018.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im019.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im020.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im021.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im022.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im023.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im024.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im025.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im026.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im027.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im028.png [new file with mode: 0644]
dox/user_guides/modeling_algos/images/modeling_algos_rf_im029.png [new file with mode: 0644]
dox/user_guides/modeling_algos/modeling_algos.md
src/BOPAlgo/BOPAlgo.msg
src/BOPAlgo/BOPAlgo_Alerts.hxx
src/BOPAlgo/BOPAlgo_BOPAlgo_msg.pxx
src/BOPAlgo/BOPAlgo_MakerVolume.cxx
src/BOPAlgo/BOPAlgo_RemoveFeatures.cxx [new file with mode: 0644]
src/BOPAlgo/BOPAlgo_RemoveFeatures.hxx [new file with mode: 0644]
src/BOPAlgo/FILES
src/BOPTest/BOPTest.cxx
src/BOPTest/BOPTest.hxx
src/BOPTest/BOPTest_BOPCommands.cxx
src/BOPTest/BOPTest_CellsCommands.cxx
src/BOPTest/BOPTest_CheckCommands.cxx
src/BOPTest/BOPTest_DebugCommands.cxx
src/BOPTest/BOPTest_PartitionCommands.cxx
src/BOPTest/BOPTest_RemoveFeaturesCommands.cxx [new file with mode: 0644]
src/BOPTest/FILES
src/BRepAlgoAPI/BRepAlgoAPI_Defeaturing.cxx [new file with mode: 0644]
src/BRepAlgoAPI/BRepAlgoAPI_Defeaturing.hxx [new file with mode: 0644]
src/BRepAlgoAPI/FILES
src/BRepLib/BRepLib.cxx
src/BRepLib/BRepLib.hxx
src/BRepTools/BRepTools_History.cxx
src/BRepTools/BRepTools_History.hxx
src/ElCLib/ElCLib.cxx
src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx
tests/boolean/grids.list
tests/boolean/removefeatures/A1 [new file with mode: 0644]
tests/boolean/removefeatures/A2 [new file with mode: 0644]
tests/boolean/removefeatures/A3 [new file with mode: 0644]
tests/boolean/removefeatures/A4 [new file with mode: 0644]
tests/boolean/removefeatures/A5 [new file with mode: 0644]
tests/boolean/removefeatures/A6 [new file with mode: 0644]
tests/boolean/removefeatures/A7 [new file with mode: 0644]
tests/boolean/removefeatures/A8 [new file with mode: 0644]
tests/boolean/removefeatures/A9 [new file with mode: 0644]
tests/boolean/removefeatures/B1 [new file with mode: 0644]
tests/boolean/removefeatures/B2 [new file with mode: 0644]
tests/boolean/removefeatures/B3 [new file with mode: 0644]
tests/boolean/removefeatures/B4 [new file with mode: 0644]
tests/boolean/removefeatures/B5 [new file with mode: 0644]
tests/boolean/removefeatures/B6 [new file with mode: 0644]
tests/boolean/removefeatures/B7 [new file with mode: 0644]
tests/boolean/removefeatures/B8 [new file with mode: 0644]
tests/boolean/removefeatures/B9 [new file with mode: 0644]
tests/boolean/removefeatures/C1 [new file with mode: 0644]
tests/boolean/removefeatures/C2 [new file with mode: 0644]
tests/boolean/removefeatures/C3 [new file with mode: 0644]
tests/boolean/removefeatures/C4 [new file with mode: 0644]
tests/boolean/removefeatures/C5 [new file with mode: 0644]
tests/boolean/removefeatures/C6 [new file with mode: 0644]
tests/boolean/removefeatures/C7 [new file with mode: 0644]
tests/boolean/removefeatures/C8 [new file with mode: 0644]
tests/boolean/removefeatures/C9 [new file with mode: 0644]
tests/boolean/removefeatures/D1 [new file with mode: 0644]
tests/boolean/removefeatures/D2 [new file with mode: 0644]
tests/boolean/removefeatures/D3 [new file with mode: 0644]
tests/boolean/removefeatures/D4 [new file with mode: 0644]
tests/boolean/removefeatures/D5 [new file with mode: 0644]
tests/boolean/removefeatures/D6 [new file with mode: 0644]
tests/boolean/removefeatures/D7 [new file with mode: 0644]
tests/boolean/removefeatures/D8 [new file with mode: 0644]
tests/boolean/removefeatures/D9 [new file with mode: 0644]
tests/boolean/removefeatures/E1 [new file with mode: 0644]
tests/boolean/removefeatures/E2 [new file with mode: 0644]
tests/boolean/removefeatures/E3 [new file with mode: 0644]
tests/boolean/removefeatures/E4 [new file with mode: 0644]
tests/boolean/removefeatures/E5 [new file with mode: 0644]
tests/boolean/removefeatures/E6 [new file with mode: 0644]
tests/boolean/removefeatures/E7 [new file with mode: 0644]
tests/boolean/removefeatures/E8 [new file with mode: 0644]
tests/boolean/removefeatures/E9 [new file with mode: 0644]
tests/boolean/removefeatures/F1 [new file with mode: 0644]
tests/boolean/removefeatures/F2 [new file with mode: 0644]
tests/boolean/removefeatures/F3 [new file with mode: 0644]
tests/boolean/removefeatures/F4 [new file with mode: 0644]
tests/boolean/removefeatures/F5 [new file with mode: 0644]
tests/boolean/removefeatures/F6 [new file with mode: 0644]
tests/boolean/removefeatures/F7 [new file with mode: 0644]
tests/boolean/removefeatures/F8 [new file with mode: 0644]
tests/boolean/removefeatures/F9 [new file with mode: 0644]
tests/boolean/removefeatures/G1 [new file with mode: 0644]
tests/boolean/removefeatures/G2 [new file with mode: 0644]
tests/boolean/removefeatures/begin [new file with mode: 0644]