occt: master 949df2b6

Author Committer Branch Timestamp Parent
pkv bugmaster master 2014-12-11 13:53:12 master ccadc126
Changeset 0025509: Wrong shape considered as valid by checkshape

New features:

1. class BRepCheck_Solid
The class is to check a solid per se.
The scan area is:
 i. Shells that overlaps each other
     Status: BRepCheck_InvalidImbricationOfShells

 ii. Detached parts of the solid (vertices, edges)
       that have non-internal orientation
       Status: BRepCheck_BadOrientationOfSubshape

 iii. For closed, non-internal shells:
 iii.1 Shells containing entities of the solid that
      are outside towards the shells
      Status: BRepCheck_SubshapeNotInShape

 iii.2 Shells that encloses other Shells
     (for non-holes)
      Status: BRepCheck_EnclosedRegion

Changes:

1. enumeration BRepCheck_Status
members:
 InvalidImbricationOfShells,
 EnclosedRegion,
has been added

2. class BRepCheck
method:
void BRepCheck::Print(const BRepCheck_Status stat,
                      Standard_OStream& OS)
has been modified to take into account II.1

3. class BRepCheck_Analyzer
method:
void BRepCheck_Analyzer::Put(const TopoDS_Shape& S,
                             const Standard_Boolean B)
has been modified to take into account I.1

4. class BRepTest
function:
void StructuralDump(Draw_Interpretor& theCommands,
 const BRepCheck_Analyzer &theAna,
 const Standard_CString ShName,
 const Standard_CString Pref,
 const TopoDS_Shape &theShape)
has been modified to take into account I.1, II.1

Test cases for issue CR25509

Correction of test cases for issue CR25509
mod - src/BRepCheck/BRepCheck.cdl Diff File
mod - src/BRepCheck/BRepCheck.cxx Diff File
mod - src/BRepCheck/BRepCheck_Analyzer.cxx Diff File
add - src/BRepCheck/BRepCheck_Solid.cdl Diff File
add - src/BRepCheck/BRepCheck_Solid.cxx Diff File
mod - src/BRepTest/BRepTest_CheckCommands.cxx Diff File
add - tests/bugs/modalg_5/bug25509_1 Diff File
add - tests/bugs/modalg_5/bug25509_2 Diff File
add - tests/bugs/modalg_5/bug25509_3 Diff File
add - tests/bugs/modalg_5/bug25509_4 Diff File
add - tests/bugs/modalg_5/bug25509_5 Diff File
add - tests/bugs/modalg_5/bug25509_6 Diff File
add - tests/bugs/modalg_5/bug25509_7 Diff File
add - tests/bugs/modalg_5/bug25509_8 Diff File
mod - tests/bugs/step/bug24055 Diff File
mod - tests/bugs/step/bug55 Diff File