0027457: Modeling - Raise exception if scaled transformation is used for shape location
authorifv <ifv@opencascade.com>
Mon, 5 Apr 2021 08:15:45 +0000 (11:15 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 20 Aug 2021 17:18:06 +0000 (20:18 +0300)
commit9592ae247b4473b3084f9e3386a971028a6c0940
tree596a6f92a043f8c0a8d5275c6a6c48581c1fe0f5
parent91428b468b6d313e805bddc88956499e26f80a5c
0027457: Modeling - Raise exception if scaled transformation is used for shape location

Implementation of raising exception while using scale and mirror transformation in shape location
TopLoc/TopLoc_Location.hxx
TopoDS/TopoDS_Shape.hxx

Implementation of new tools for removing forbidden locations from shapes:
BRepTools/BRepTools_PurgeLocations.cxx
BRepTools/BRepTools_PurgeLocations.hxx
BRepTools/BRepTools.cxx
BRepTools/BRepTools.hxx

Draw commands for transforming shapes are corrected, new draw commands: purgeloc, checkloc added
BRepTest/BRepTest_BasicCommands.cxx

Fixing unstable test bug xde bug24759
StepToGeom/StepToGeom.cxx

All other C++ commits are modification of algorithms used mainly in import/export operations in order to allows these operations if shape locations contains scale and mirror transformations.

New test for command purgeloc added
tests/bugs/moddata_3/bug27457
tests/bugs/moddata_3/bug27457_1
tests/bugs/moddata_3/bug27457_2

Some test corrected according to modifications.
41 files changed:
src/BRep/BRep_Tool.cxx
src/BRepBuilderAPI/BRepBuilderAPI_Transform.cxx
src/BRepLib/BRepLib.cxx
src/BRepTest/BRepTest_BasicCommands.cxx
src/BRepTools/BRepTools.cxx
src/BRepTools/BRepTools.hxx
src/BRepTools/BRepTools_Modifier.cxx
src/BRepTools/BRepTools_PurgeLocations.cxx [new file with mode: 0644]
src/BRepTools/BRepTools_PurgeLocations.hxx [new file with mode: 0644]
src/BRepTools/BRepTools_ReShape.cxx
src/BRepTools/FILES
src/BinTools/BinTools_ShapeReader.cxx
src/BinTools/BinTools_ShapeSet.cxx
src/IGESCAFControl/IGESCAFControl_Writer.cxx
src/IGESToBRep/IGESToBRep_CurveAndSurface.cxx
src/IGESToBRep/IGESToBRep_TopoSurface.cxx
src/RWGltf/RWGltf_GltfJsonParser.cxx
src/RWMesh/RWMesh_CafReader.cxx
src/ShapeCustom/ShapeCustom.cxx
src/ShapeFix/ShapeFix_Shape.cxx
src/ShapeProcess/ShapeProcess_OperLibrary.cxx
src/ShapeProcess/ShapeProcess_ShapeContext.cxx
src/StepToGeom/StepToGeom.cxx
src/TopExp/TopExp.cxx
src/TopExp/TopExp.hxx
src/TopLoc/TopLoc_Location.hxx
src/TopTools/TopTools_ShapeSet.cxx
src/TopoDS/TopoDS_Builder.cxx
src/TopoDS/TopoDS_Iterator.cxx
src/TopoDS/TopoDS_Shape.hxx
src/VrmlData/VrmlData_Group.cxx
src/XCAFDoc/XCAFDoc_ShapeTool.cxx
src/XCAFPrs/XCAFPrs.cxx
tests/bugs/modalg_6/bug28394_2
tests/bugs/moddata_3/bug27457 [new file with mode: 0644]
tests/bugs/moddata_3/bug27457_1 [new file with mode: 0644]
tests/bugs/moddata_3/bug27457_2 [new file with mode: 0644]
tests/v3d/bugs/bug22240
tests/v3d/bugs/bug30630_1
tests/v3d/bugs/bug30630_2
tests/v3d/bugs/bug30630_3