occt: master 33ba8565

Author Committer Branch Timestamp Parent
emv bugmaster master 2017-05-29 08:08:08 master b09d8636
Changeset 0028786: Refactoring of the Warning/Error reporting system of Boolean Operations Algorithm

0. Basic tools for defining classes representing alerts (errors, warnings etc.) and collecting them during execution of algorithms are added in Message package.

1. Refactoring of the Error/Warning reporting system of the algorithms in Boolean Component.
   To dump the description of the Error/Warning status of the algorithm the DumpErrors/DumpWarnings method should be called.
   Also, the methods GerErrorMsg(int Error) and GetWarningMsg(int Warning) have been implemented to get the description for the given Error/Warning.
   All Error/Warning statuses are now listed in the enumeration ErrorStatusEnum/WarningStatusEnum of the algorithm.
   It is also possible to get the shapes for which the warning has been set by using the method GetWarningShapes().

2. The new class BOPAlgo_Options has been created to unify the options of the BOPAlgo_* and BRepAlgoAPI* algorithms.

3. The new checks across the algorithms have been added to detect and report errors and warnings.

4. Test cases
  boolean bopcut_complex B9 E1 E5 E8
  boolean bopfuse_complex B4 B5 C9 D1 D4 D5 D6 D7
have been rewritten to use Cells Builder algorithm instead of Boolean Operations algorithm, because latter always returns error "Unsupported Boolean operation" for these cases.

5. New chapter has been added in the user guide for Boolean Operations - Error / Warning reporting system.

6. Added comment to NCollection_List::Remove(Iterator&)
mod - adm/RESOURCES Diff File
mod - dox/user_guides/boolean_operations/boolean_operations.md Diff File
add - src/BOPAlgo/BOPAlgo.msg Diff File
add - src/BOPAlgo/BOPAlgo_Alerts.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_Algo.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Algo.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_BOP.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_BOP.hxx Diff File
add - src/BOPAlgo/BOPAlgo_BOPAlgo_msg.pxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_BuilderFace.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_BuilderFace.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_BuilderShape.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_BuilderSolid.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_BuilderSolid.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_1.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_2.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_3.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_CellsBuilder.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_CellsBuilder.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_CheckerSI.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_CheckerSI.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_CheckerSI_1.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_MakerVolume.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_MakerVolume.hxx Diff File
add - src/BOPAlgo/BOPAlgo_Options.cxx Diff File
add - src/BOPAlgo/BOPAlgo_Options.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_1.cxx Diff File
add - src/BOPAlgo/BOPAlgo_PaveFiller_11.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_2.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_4.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_7.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_8.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_9.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Section.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Section.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_ShellSplitter.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_ShellSplitter.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_Splitter.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Splitter.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_Tools.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_WireSplitter.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_WireSplitter.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_APICommands.cxx 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_Objects.cxx Diff File
mod - src/BOPTest/BOPTest_Objects.hxx Diff File
mod - src/BOPTest/BOPTest_OptionCommands.cxx Diff File
mod - src/BOPTest/BOPTest_PartitionCommands.cxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_Algo.cxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_Algo.hxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_BooleanOperation.cxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_BooleanOperation.hxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.cxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.hxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_Splitter.cxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_Splitter.hxx Diff File
mod - src/BRepFeat/BRepFeat_Builder.cxx Diff File
mod - src/BRepFeat/BRepFeat_MakeCylindricalHole.cxx Diff File
mod - src/BRepFill/BRepFill_TrimShellCorner.cxx Diff File
mod - src/BRepOffset/BRepOffset_MakeOffset.cxx Diff File
mod - src/BRepOffset/BRepOffset_MakeOffset_1.cxx Diff File
mod - src/BRepOffsetAPI/BRepOffsetAPI_DraftAngle.cxx Diff File
mod - src/BRepTest/BRepTest_FeatureCommands.cxx Diff File
mod - src/BRepTest/BRepTest_FilletCommands.cxx Diff File
mod - src/Message/FILES Diff File
add - src/Message/Message_Alert.cxx Diff File
add - src/Message/Message_Alert.hxx Diff File
mod - src/Message/Message_Algorithm.cxx Diff File
add - src/Message/Message_ListOfAlert.hxx Diff File
add - src/Message/Message_Report.cxx Diff File
add - src/Message/Message_Report.hxx Diff File
mod - src/NCollection/NCollection_List.hxx Diff File
mod - src/QABugs/QABugs_19.cxx Diff File
mod - src/TopoDS/FILES Diff File
add - src/TopoDS/TopoDS_AlertWithShape.cxx Diff File
add - src/TopoDS/TopoDS_AlertWithShape.hxx Diff File
mod - tests/boolean/bopcut_complex/B9 Diff File
mod - tests/boolean/bopcut_complex/E1 Diff File
mod - tests/boolean/bopcut_complex/E5 Diff File
mod - tests/boolean/bopcut_complex/E8 Diff File
mod - tests/boolean/bopfuse_complex/B4 Diff File
mod - tests/boolean/bopfuse_complex/B5 Diff File
mod - tests/boolean/bopfuse_complex/C9 Diff File
mod - tests/boolean/bopfuse_complex/D1 Diff File
mod - tests/boolean/bopfuse_complex/D4 Diff File
mod - tests/boolean/bopfuse_complex/D5 Diff File
mod - tests/boolean/bopfuse_complex/D6 Diff File
mod - tests/boolean/bopfuse_complex/D7 Diff File
mod - tests/bugs/modalg_4/bug726_3 Diff File
mod - tests/bugs/modalg_6/bug27448_2 Diff File
add - tests/bugs/modalg_7/bug28786_1 Diff File
add - tests/bugs/modalg_7/bug28786_2 Diff File
add - tests/bugs/modalg_7/bug28786_3 Diff File
add - tests/bugs/modalg_7/bug28786_4 Diff File
add - tests/bugs/modalg_7/bug28786_5 Diff File