]> OCCT Git - occt-copy.git/commit
0028786: Refactoring of the Warning/Error reporting system of Boolean Operations... CR0-710-FixAS_1
authoremv <emv@opencascade.com>
Mon, 29 May 2017 08:08:08 +0000 (11:08 +0300)
committeremv <emv@opencascade.com>
Fri, 7 Jul 2017 07:03:48 +0000 (10:03 +0300)
commit413e51ac6abcc34d8c3f4f4750be9b894b9a3bb3
tree908fd6bd9c8589a8210fd70716f9617417a4a696
parent7c05f2727e5174966250a39485d8e09e7145bb22
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. Test cases for the issue.

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