0024249: Crash on ShapeFix_Shape
authoribs <ibs@opencascade.com>
Thu, 17 Apr 2014 12:16:36 +0000 (16:16 +0400)
committerapn <apn@opencascade.com>
Thu, 17 Apr 2014 12:17:16 +0000 (16:17 +0400)
commit46aed280ccfb6b59cf1a1474d6c8eb7fc09dd741
treef27562eeb49cae6dce1b0ca853d74f1949195b10
parente28d7e62f9ebc2933f8574d35366f6da6bba0ef4
0024249: Crash on ShapeFix_Shape

MAIN CHANGES:
FixAddNaturalBound: the boundaries of "natural bound addition" are restricted: a face, that does not contains an outer wire, should not have any infinite UV boundaries due to new face building (with using a surface) requires specified UV boundaries.
FixAddNaturalBound: myResult is updated in FixAddNaturalBound when the method creates a new face with natural boundary. myResult is required to be updated for next "fix small-area wires" algorithm
IsPeriodicConicalLoop: incorrect working BRepTools_WireExplorer was replaced on TopoDS_Iterator.
a natural bound is added to all the faces are constructed with UV-periodical surfaces (not only sphere and torus; e.g., closed b-splines)

other:
ShapeAnalysis: ReverceSeq renamed to ReverseSeq
BRep_Tool Pnt and Tolerance has the check for null TShape
Test cases for issue CR24249

required null checks were added
test cases were corrected according to their new behavior
Correction test case for issue CR24249
41 files changed:
src/BRep/BRep_Tool.cxx
src/ShapeAnalysis/ShapeAnalysis.cxx
src/ShapeAnalysis/ShapeAnalysis_Edge.cxx
src/ShapeAnalysis/ShapeAnalysis_Wire.cxx
src/ShapeFix/ShapeFix_Face.cxx
src/ShapeFix/ShapeFix_Wire.cxx
tests/bugs/heal/bug24249_1 [new file with mode: 0644]
tests/bugs/heal/bug24249_2 [new file with mode: 0644]
tests/bugs/heal/bug24249_3 [new file with mode: 0644]
tests/de/iges_1/R1 [changed mode: 0644->0755]
tests/de/iges_1/R6 [changed mode: 0644->0755]
tests/de/iges_2/A2 [changed mode: 0644->0755]
tests/de/iges_2/C7 [changed mode: 0644->0755]
tests/de/iges_2/C9 [changed mode: 0644->0755]
tests/de/iges_2/D1 [changed mode: 0644->0755]
tests/de/iges_2/F1 [changed mode: 0644->0755]
tests/de/iges_2/F4
tests/de/iges_2/F5
tests/de/iges_2/F8 [changed mode: 0644->0755]
tests/de/iges_2/G9 [changed mode: 0644->0755]
tests/de/iges_2/H3
tests/de/iges_2/H4 [changed mode: 0644->0755]
tests/de/iges_2/H5 [changed mode: 0644->0755]
tests/de/iges_2/H9
tests/de/iges_2/I5 [changed mode: 0644->0755]
tests/de/iges_2/I8 [changed mode: 0644->0755]
tests/de/iges_3/A2 [changed mode: 0644->0755]
tests/de/iges_3/A3 [changed mode: 0644->0755]
tests/de/iges_3/A4 [changed mode: 0644->0755]
tests/de/iges_3/A6 [changed mode: 0644->0755]
tests/de/iges_3/A8 [changed mode: 0644->0755]
tests/de/step_1/D1
tests/de/step_1/E6 [changed mode: 0644->0755]
tests/de/step_2/A3 [changed mode: 0644->0755]
tests/de/step_2/A5 [changed mode: 0644->0755]
tests/de/step_2/D2 [changed mode: 0644->0755]
tests/de/step_3/A5 [changed mode: 0644->0755]
tests/de/step_3/A9 [changed mode: 0644->0755]
tests/de/step_3/B5
tests/de/step_3/D8 [changed mode: 0644->0755]
tests/de/step_3/E6