View Issue Details

IDProjectCategoryView StatusLast Update
0027457Open CASCADEOCCT:Modeling Datapublic2023-03-19 18:30
ReporterabvAssigned Toifv 
PriorityhighSeverityintegration request 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0027457: Modeling - Raise exception if scaled transformation is used for shape location
DescriptionThe fact is that use of transformations with non-unit scale factor in shape locations (e.g. method TopoDS_Shape::Moved()) is not well supported in OCCT: in most cases (especially if underlying geometry is elementary) this will lead to invalid shape, and most algorithms will fail due to being not able to handle effect of scaling on parameterization. It is quite regular that users get confused by this possibility (see e.g. https://github.com/tpaviot/oce/issues/615).

To prevent confusion, we can raise exception when scaled transformation is used for shape (e.g. in TopLoc_Location).
Steps To ReproduceTest cases
bugs moddata_3 bug27457
bugs moddata_3 bug27457_1
bugs moddata_3 bug27457_2
TagsNo tags attached.
Test case numbersat/doc_6/G3

Attached Files

  • bug27457_1.brep (17,407 bytes)
  • bug27457_2.brep (1,739 bytes)

Relationships

related to 0024860 closedbugmaster Community [Regression] Modeling Data - OCC 6.7.1 beta BRepBuilderAPI_Transform loses pcurves 
parent of 0032784 closedbugmaster Open CASCADE BinXCAF fails to load documents containing the shapes with scaled/mirrored location 
related to 0032253 closedbugmaster Community Mesh - The refactored Mesher fails to mesh correctly scaled (planar) faces 
related to 0029998 newvpozdyayev Community Visualization - PrsMgr_PresentableObject::SetLocalTransformation() does not support anisotropic scale 

Activities

msv

2016-05-11 10:24

developer   ~0053982

Dear IFV, please solve this and use this agreement when fixing 0024860.

msv

2021-03-29 12:13

developer   ~0099810

In the context of this bug it is needed to add some compatibility code for 'old' files, which contain shapes with scaling transforms.
It must not be automatic invocation of such conversion. It is needed to develop a convenient procedure that can convert such shapes. May be, it is needed also to develop a procedure to update shapes in an OCAF document, so that to simplify the movement of customer applications on new version.
And, of course it is needed to reflect this change in upgrade guide.

ifv

2021-04-02 15:32

developer   ~0099999

Debugging

git

2021-04-05 15:59

administrator   ~0100106

Branch CR27457 has been created by ifv.

SHA-1: 66af1fe09b8ea079c48c0de025fd0d75c02b2773


Detailed log of new commits:

Author: ifv
Date: Mon Apr 5 11:15:45 2021 +0300

    0027457: Modeling - Raise exception if scaled transformation is used for shape location

ifv

2021-04-06 18:29

developer   ~0100138

Debugging

git

2021-04-06 18:38

administrator   ~0100139

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 4fa6f76612fc69d69b6b73ac69dafe7e81afe34e

git

2021-04-07 15:17

administrator   ~0100169

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 80d961fe554353083df920b1fc678187936bce5f

ifv

2021-04-07 16:02

developer   ~0100170

Debugging

git

2021-04-08 12:56

administrator   ~0100180

Branch CR27457 has been updated forcibly by ifv.

SHA-1: f2eef54a7990d187ee56b9473f2a08b07db4f681

ifv

2021-04-08 17:12

developer   ~0100186

Debugging

ifv

2021-04-09 09:35

developer   ~0100192

Debugging

git

2021-04-12 19:13

administrator   ~0100253

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 091e6a6cfe7682e597739606f9a68829259910ae

git

2021-04-13 14:38

administrator   ~0100279

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 1bc1acae639258428a37ba5bd6041a2e1c9f7b1f

ifv

2021-04-13 14:40

developer   ~0100280

Last edited: 2021-04-19 11:09

Debugging

ifv

2021-04-22 09:14

developer   ~0100504

Last edited: 2021-04-26 10:15

Debugging

git

2021-04-22 13:07

administrator   ~0100513

Branch CR27457 has been updated forcibly by ifv.

SHA-1: c8715b08b800059d4a5b2d9ec25663b065b90765

ifv

2021-05-04 16:23

developer   ~0100766

Integration

ifv

2021-05-04 16:24

developer   ~0100767

Testing

git

2021-05-05 15:37

administrator   ~0100783

Branch CR27457 has been updated forcibly by ifv.

SHA-1: f5c37f01e50e350c1ce702c2e98fed32cdd48b92

ifv

2021-05-05 18:07

developer   ~0100787

Debugging

ifv

2021-05-05 18:08

developer   ~0100788

Testing

ifv

2021-05-11 16:23

developer   ~0100883

Solution elaboration

ifv

2021-05-12 16:17

developer   ~0100917

Solution elaboration

ifv

2021-05-13 16:22

developer   ~0100949

Solution elaboration

ifv

2021-05-14 10:36

developer   ~0100980

Solution implementation

ifv

2021-05-17 16:30

developer   ~0101100

Solution implementation

ifv

2021-05-19 09:14

developer   ~0101164

Last edited: 2021-05-24 11:21

Debugging
+ 18/05: 7h.

ifv

2021-05-20 15:16

developer   ~0101212

Solution implementation

ifv

2021-05-25 12:31

developer   ~0101354

Last edited: 2021-05-28 13:04

Solution implementation

ifv

2021-05-27 16:22

developer   ~0101426

Last edited: 2021-05-28 13:02

Solution implementation

ifv

2021-05-28 13:04

developer   ~0101443

Solution implementation

ifv

2021-05-31 16:31

developer   ~0101522

Solution implementation

git

2021-06-02 17:41

administrator   ~0101554

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 47b7c64e61ae16f5f251cef4793c954015c4e576

ifv

2021-06-02 17:42

developer   ~0101555

Debugging

git

2021-06-02 18:06

administrator   ~0101557

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 32de735862e73afea43384880ff7042405eea1ea

git

2021-06-30 13:35

administrator   ~0102183

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 6a104ab487f9638c6e27155782a4a25268b8c379

ifv

2021-06-30 13:46

developer   ~0102185

Testing

ifv

2021-07-26 11:47

developer  

bug27457_1.brep (17,407 bytes)

ifv

2021-07-26 11:48

developer  

bug27457_2.brep (1,739 bytes)

git

2021-07-26 13:07

administrator   ~0102815

Branch CR27457 has been updated forcibly by ifv.

SHA-1: f0613dd8dbd2e760b3c25749472259ce21a5235f

git

2021-07-27 14:18

administrator   ~0102828

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 7930b20e52d2e38ec02a563f40eabafa96fe0fa8

git

2021-08-03 14:38

administrator   ~0102952

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 782999b78712787e66506d4b721fe99a1013359a

git

2021-08-05 09:53

administrator   ~0102992

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 2820f4f03cbee914981373ff09ee1255ac0ad11b

ifv

2021-08-05 12:17

developer   ~0102993

Branches CR27457 in OCCT repository and CR27457 in Products repository are ready for review

ifv

2021-08-06 10:16

developer   ~0103022

Debugging

kgv

2021-08-07 14:25

developer   ~0103090

+        catch (Standard_DomainError)

Should be "const Standard_DomainError& " to avoid compiler warnings.

+          Message::SendWarning() << "Operation is not done: " << aName << " is not a valid transformation - scale = " << aScale;

Is it intentional that the message has no "Error: " and thus wouldn't lead test case to be considered failed?

msv

2021-08-09 11:44

developer   ~0103093

I have no comments. Please correct KGV's ones.

git

2021-08-12 12:56

administrator   ~0103152

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 3eea7b0e41b09ffa20e319bcae8c5b5b3a3a8c55

git

2021-08-16 10:37

administrator   ~0103227

Branch CR27457 has been updated forcibly by ifv.

SHA-1: 12779b3bd862efe672e48deb394bd27ebc063905

ifv

2021-08-16 11:59

developer   ~0103231

Last edited: 2021-08-16 12:01

Debugging

ifv

2021-08-16 16:21

developer   ~0103242

Branch CR27457 is updated according to remarks
Branches for integration
OCCT - CR27457
Products - Not

Warning message
 Message::SendWarning() << "Operation is not done:...

is used to prevent put "Error" in test message in order to avoid considering test failed.

msv

2021-08-19 23:37

developer   ~0103315

Branches for integration
OCCT - CR27457
Products - CR27457

Dear IFV, please confirm that products branch is also actual.

bugmaster

2021-08-21 14:19

administrator   ~0103324

Combination -
OCCT branch : IR-2021-08-20
master SHA - da80ff68f1e9853c1015a5dbb6199541e92789ce
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-08-20 SHA - dd282797d1b40a373376bcd4a820edeb3d4d52f6
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17364.550000000334 / 17371.860000000408 [-0.04%]
Products
Total CPU difference: 11522.500000000102 / 11493.740000000085 [+0.25%]
Windows-64-VC14:
OCCT
Total CPU difference: 19242.96875 / 19148.140625 [+0.50%]
Products
Total CPU difference: 12876.5625 / 12805.328125 [+0.56%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-08-21 14:31

administrator   ~0103328

Branch CR27457 has been deleted by mnt.

SHA-1: 12779b3bd862efe672e48deb394bd27ebc063905

Related Changesets

occt: master 9592ae24

2021-04-05 08:15:45

ifv


Committer: bugmaster Details Diff
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.
Affected Issues
0027457
mod - src/BinTools/BinTools_ShapeReader.cxx Diff File
mod - src/BinTools/BinTools_ShapeSet.cxx Diff File
mod - src/BRep/BRep_Tool.cxx Diff File
mod - src/BRepBuilderAPI/BRepBuilderAPI_Transform.cxx Diff File
mod - src/BRepLib/BRepLib.cxx Diff File
mod - src/BRepTest/BRepTest_BasicCommands.cxx Diff File
mod - src/BRepTools/BRepTools.cxx Diff File
mod - src/BRepTools/BRepTools.hxx Diff File
mod - src/BRepTools/BRepTools_Modifier.cxx Diff File
add - src/BRepTools/BRepTools_PurgeLocations.cxx Diff File
add - src/BRepTools/BRepTools_PurgeLocations.hxx Diff File
mod - src/BRepTools/BRepTools_ReShape.cxx Diff File
mod - src/BRepTools/FILES Diff File
mod - src/IGESCAFControl/IGESCAFControl_Writer.cxx Diff File
mod - src/IGESToBRep/IGESToBRep_CurveAndSurface.cxx Diff File
mod - src/IGESToBRep/IGESToBRep_TopoSurface.cxx Diff File
mod - src/RWGltf/RWGltf_GltfJsonParser.cxx Diff File
mod - src/RWMesh/RWMesh_CafReader.cxx Diff File
mod - src/ShapeCustom/ShapeCustom.cxx Diff File
mod - src/ShapeFix/ShapeFix_Shape.cxx Diff File
mod - src/ShapeProcess/ShapeProcess_OperLibrary.cxx Diff File
mod - src/ShapeProcess/ShapeProcess_ShapeContext.cxx Diff File
mod - src/StepToGeom/StepToGeom.cxx Diff File
mod - src/TopExp/TopExp.cxx Diff File
mod - src/TopExp/TopExp.hxx Diff File
mod - src/TopLoc/TopLoc_Location.hxx Diff File
mod - src/TopoDS/TopoDS_Builder.cxx Diff File
mod - src/TopoDS/TopoDS_Iterator.cxx Diff File
mod - src/TopoDS/TopoDS_Shape.hxx Diff File
mod - src/TopTools/TopTools_ShapeSet.cxx Diff File
mod - src/VrmlData/VrmlData_Group.cxx Diff File
mod - src/XCAFDoc/XCAFDoc_ShapeTool.cxx Diff File
mod - src/XCAFPrs/XCAFPrs.cxx Diff File
mod - tests/bugs/modalg_6/bug28394_2 Diff File
add - tests/bugs/moddata_3/bug27457 Diff File
add - tests/bugs/moddata_3/bug27457_1 Diff File
add - tests/bugs/moddata_3/bug27457_2 Diff File
mod - tests/v3d/bugs/bug22240 Diff File
mod - tests/v3d/bugs/bug30630_1 Diff File
mod - tests/v3d/bugs/bug30630_2 Diff File
mod - tests/v3d/bugs/bug30630_3 Diff File

occt-products: master 999262b3

2021-05-05 15:34:13

ifv

Details Diff
0027457: Modeling - Raise exception if scaled transformation is used for shape location

Modification of algorithms used for import/export of models in order to import/export shapes having locations with scale and mirror transformation (see issue 0027457)
Affected Issues
0027457
mod - diff Diff File
mod - diff Diff File
mod - src/JTCAFControl/JTCAFControl_Reader.cxx Diff File
mod - src/ShapeConvert/ShapeConvert_UnionEdges.cxx Diff File

Issue History

Date Modified Username Field Change
2016-05-01 15:14 abv New Issue
2016-05-01 15:14 abv Assigned To => msv
2016-05-11 10:24 msv Note Added: 0053982
2016-05-11 10:24 msv Assigned To msv => ifv
2016-05-11 10:24 msv Status new => assigned
2016-05-11 10:24 msv Relationship added related to 0024860
2016-10-25 15:47 msv Target Version 7.1.0 => 7.2.0
2017-07-20 15:30 msv Target Version 7.2.0 => 7.3.0
2017-12-05 17:09 msv Target Version 7.3.0 => 7.4.0
2019-08-12 16:45 msv Target Version 7.4.0 => 7.5.0
2020-09-14 22:54 msv Target Version 7.5.0 => 7.6.0
2021-03-27 22:38 msv Relationship added related to 0032253
2021-03-29 10:44 kgv Priority normal => high
2021-03-29 10:44 kgv Severity minor => integration request
2021-03-29 12:13 msv Note Added: 0099810
2021-04-02 15:32 ifv Note Added: 0099999
2021-04-05 15:59 git Note Added: 0100106
2021-04-06 18:29 ifv Note Added: 0100138
2021-04-06 18:38 git Note Added: 0100139
2021-04-07 15:17 git Note Added: 0100169
2021-04-07 16:02 ifv Note Added: 0100170
2021-04-08 12:56 git Note Added: 0100180
2021-04-08 17:12 ifv Note Added: 0100186
2021-04-09 09:35 ifv Note Added: 0100192
2021-04-12 19:13 git Note Added: 0100253
2021-04-13 14:38 git Note Added: 0100279
2021-04-13 14:40 ifv Note Added: 0100280
2021-04-19 11:09 szy Note Edited: 0100280
2021-04-22 09:14 ifv Note Added: 0100504
2021-04-22 13:07 git Note Added: 0100513
2021-04-26 10:15 ifv Note Edited: 0100504
2021-05-04 16:23 ifv Note Added: 0100766
2021-05-04 16:24 ifv Note Added: 0100767
2021-05-05 15:37 git Note Added: 0100783
2021-05-05 18:07 ifv Note Added: 0100787
2021-05-05 18:08 ifv Note Added: 0100788
2021-05-11 16:23 ifv Note Added: 0100883
2021-05-12 16:17 ifv Note Added: 0100917
2021-05-13 16:22 ifv Note Added: 0100949
2021-05-14 10:36 ifv Note Added: 0100980
2021-05-17 16:30 ifv Note Added: 0101100
2021-05-19 09:14 ifv Note Added: 0101164
2021-05-20 15:16 ifv Note Added: 0101212
2021-05-24 11:21 szy Note Edited: 0101164
2021-05-25 12:31 ifv Note Added: 0101354
2021-05-27 16:22 ifv Note Added: 0101426
2021-05-28 13:02 ifv Note Edited: 0101426
2021-05-28 13:04 ifv Note Edited: 0101354
2021-05-28 13:04 ifv Note Added: 0101443
2021-05-31 16:31 ifv Note Added: 0101522
2021-06-02 17:41 git Note Added: 0101554
2021-06-02 17:42 ifv Note Added: 0101555
2021-06-02 18:06 git Note Added: 0101557
2021-06-30 13:35 git Note Added: 0102183
2021-06-30 13:46 ifv Note Added: 0102185
2021-07-26 11:47 ifv File Added: bug27457_1.brep
2021-07-26 11:48 ifv File Added: bug27457_2.brep
2021-07-26 13:07 git Note Added: 0102815
2021-07-27 14:18 git Note Added: 0102828
2021-08-03 14:38 git Note Added: 0102952
2021-08-05 09:53 git Note Added: 0102992
2021-08-05 12:17 ifv Note Added: 0102993
2021-08-05 12:17 ifv Assigned To ifv => msv
2021-08-05 12:17 ifv Status assigned => resolved
2021-08-05 12:17 ifv Steps to Reproduce Updated
2021-08-05 12:19 ifv Steps to Reproduce Updated
2021-08-06 10:16 ifv Note Added: 0103022
2021-08-07 14:25 kgv Note Added: 0103090
2021-08-09 11:44 msv Note Added: 0103093
2021-08-09 11:44 msv Assigned To msv => ifv
2021-08-09 11:44 msv Status resolved => assigned
2021-08-12 12:56 git Note Added: 0103152
2021-08-16 10:37 git Note Added: 0103227
2021-08-16 11:59 ifv Note Added: 0103231
2021-08-16 12:01 ifv Note Edited: 0103231
2021-08-16 16:21 ifv Note Added: 0103242
2021-08-16 16:21 ifv Assigned To ifv => kgv
2021-08-16 16:21 ifv Status assigned => resolved
2021-08-19 14:36 kgv Assigned To kgv => msv
2021-08-19 23:37 msv Note Added: 0103315
2021-08-19 23:37 msv Assigned To msv => bugmaster
2021-08-19 23:37 msv Status resolved => reviewed
2021-08-21 14:19 bugmaster Note Added: 0103324
2021-08-21 14:19 bugmaster Status reviewed => tested
2021-08-21 14:22 bugmaster Changeset attached => occt master 9592ae24
2021-08-21 14:22 bugmaster Status tested => verified
2021-08-21 14:22 bugmaster Resolution open => fixed
2021-08-21 14:31 git Note Added: 0103328
2021-09-04 15:59 smoskvin Test case number => sat/doc_6/G3
2021-09-09 23:20 kgv Relationship added related to 0029998
2021-12-17 18:41 ifv Changeset attached => occt-products master 999262b3
2021-12-17 18:41 ifv Assigned To bugmaster => ifv
2021-12-17 18:41 ifv Status closed => verified
2022-01-18 16:50 drazmyslovich Relationship added parent of 0032784
2023-03-19 18:30 vglukhik Status verified => closed