occt: master d9ca2e0c

Author Committer Branch Timestamp Parent
emv bugmaster master 2018-02-06 05:48:27 master 9e04ccdc
Changeset 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*.
mod - dox/user_guides/draw_test_harness/draw_test_harness.md Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im001.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im002.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im003.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im004.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im005.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im006.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im007.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im008.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im009.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im010.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im011.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im012.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im013.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im014.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im015.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im016.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im017.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im018.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im019.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im020.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im021.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im022.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im023.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im024.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im025.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im026.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im027.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im028.png Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_rf_im029.png Diff File
mod - dox/user_guides/modeling_algos/modeling_algos.md Diff File
mod - src/BOPAlgo/BOPAlgo.msg Diff File
mod - src/BOPAlgo/BOPAlgo_Alerts.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_BOPAlgo_msg.pxx Diff File
add - src/BOPAlgo/BOPAlgo_RemoveFeatures.cxx Diff File
add - src/BOPAlgo/BOPAlgo_RemoveFeatures.hxx Diff File
mod - src/BOPAlgo/FILES Diff File
mod - src/BOPTest/BOPTest.cxx Diff File
mod - src/BOPTest/BOPTest.hxx Diff File
mod - src/BOPTest/BOPTest_BOPCommands.cxx Diff File
mod - src/BOPTest/BOPTest_CellsCommands.cxx Diff File
mod - src/BOPTest/BOPTest_CheckCommands.cxx Diff File
mod - src/BOPTest/BOPTest_DebugCommands.cxx Diff File
mod - src/BOPTest/BOPTest_PartitionCommands.cxx Diff File
add - src/BOPTest/BOPTest_RemoveFeaturesCommands.cxx Diff File
mod - src/BOPTest/FILES Diff File
add - src/BRepAlgoAPI/BRepAlgoAPI_Defeaturing.cxx Diff File
add - src/BRepAlgoAPI/BRepAlgoAPI_Defeaturing.hxx Diff File
mod - src/BRepAlgoAPI/FILES Diff File
mod - src/BRepLib/BRepLib.cxx Diff File
mod - src/BRepLib/BRepLib.hxx Diff File
mod - src/BRepTools/BRepTools_History.cxx Diff File
mod - src/BRepTools/BRepTools_History.hxx Diff File
mod - src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx Diff File
mod - tests/boolean/grids.list Diff File
add - tests/boolean/removefeatures/A1 Diff File
add - tests/boolean/removefeatures/A2 Diff File
add - tests/boolean/removefeatures/A3 Diff File
add - tests/boolean/removefeatures/A4 Diff File
add - tests/boolean/removefeatures/A5 Diff File
add - tests/boolean/removefeatures/A6 Diff File
add - tests/boolean/removefeatures/A7 Diff File
add - tests/boolean/removefeatures/A8 Diff File
add - tests/boolean/removefeatures/A9 Diff File
add - tests/boolean/removefeatures/B1 Diff File
add - tests/boolean/removefeatures/B2 Diff File
add - tests/boolean/removefeatures/B3 Diff File
add - tests/boolean/removefeatures/B4 Diff File
add - tests/boolean/removefeatures/B5 Diff File
add - tests/boolean/removefeatures/B6 Diff File
add - tests/boolean/removefeatures/B7 Diff File
add - tests/boolean/removefeatures/B8 Diff File
add - tests/boolean/removefeatures/B9 Diff File
add - tests/boolean/removefeatures/begin Diff File
add - tests/boolean/removefeatures/C1 Diff File
add - tests/boolean/removefeatures/C2 Diff File
add - tests/boolean/removefeatures/C3 Diff File
add - tests/boolean/removefeatures/C4 Diff File
add - tests/boolean/removefeatures/C5 Diff File
add - tests/boolean/removefeatures/C6 Diff File
add - tests/boolean/removefeatures/C7 Diff File
add - tests/boolean/removefeatures/C8 Diff File
add - tests/boolean/removefeatures/C9 Diff File
add - tests/boolean/removefeatures/D1 Diff File
add - tests/boolean/removefeatures/D2 Diff File
add - tests/boolean/removefeatures/D3 Diff File
add - tests/boolean/removefeatures/D4 Diff File
add - tests/boolean/removefeatures/D5 Diff File
add - tests/boolean/removefeatures/D6 Diff File
add - tests/boolean/removefeatures/D7 Diff File
add - tests/boolean/removefeatures/D8 Diff File
add - tests/boolean/removefeatures/D9 Diff File
add - tests/boolean/removefeatures/E1 Diff File
add - tests/boolean/removefeatures/E2 Diff File
add - tests/boolean/removefeatures/E3 Diff File
add - tests/boolean/removefeatures/E4 Diff File
add - tests/boolean/removefeatures/E5 Diff File
add - tests/boolean/removefeatures/E6 Diff File
add - tests/boolean/removefeatures/E7 Diff File
add - tests/boolean/removefeatures/E8 Diff File
add - tests/boolean/removefeatures/E9 Diff File
add - tests/boolean/removefeatures/F1 Diff File
add - tests/boolean/removefeatures/F2 Diff File
add - tests/boolean/removefeatures/F3 Diff File
add - tests/boolean/removefeatures/F4 Diff File
add - tests/boolean/removefeatures/F5 Diff File
add - tests/boolean/removefeatures/F6 Diff File
add - tests/boolean/removefeatures/F7 Diff File
add - tests/boolean/removefeatures/F8 Diff File
add - tests/boolean/removefeatures/F9 Diff File
add - tests/boolean/removefeatures/G1 Diff File
add - tests/boolean/removefeatures/G2 Diff File