MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0025389Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2014-10-16 17:082018-10-29 13:12
Reporternbv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionno change required 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0025389: It is necessary to revise conformity between real transformation and status of gp_TrsfForm
DescriptionThe following moments must be determined:

1. Is it necessary to have gp_TrsfForm statuses into OCCT. Maybe it will be better to work with real transformation matrix.

2. Do these statuses conform to real transformation. Especially after applying gp_Trsf::Multiply(...) method where status "gp_Rotation" is set after two gp_Ax1Mirror transformations.

3. It is necessary to check if statuses in gp_Trsf and in gp_Trsf2d algorithms are set equally.

4. It is important to create actual tests case for every transformation type. For example, is it correct, when location is set to zero after powering matrix of gp_PntMirror transformation in even degree (here we should return to previous shape, which was before transformation).
Additional information
and documentation updates
Current algorithm of statuses setting:

    gp_Ax1Mirror
Sets in case of SetMirror in 2D or SetMirror(const gp_Ax1&) in 3D transformation.

    gp_Ax2Mirror
Sets in case of SetMirror (const gp_Ax2&) 3D-transformation.

    gp_Identity
1. Transformation matrix is identity.
2. Sets if shape was gp_Translation and if NULL-location is set for it.
3. Sets if shape was (gp_PntMirror || gp_Ax1Mirror || gp_Ax2Mirror || gp_Scale) and scale factor is set in +1.
4. Sets if matrix transformation is powered in 0-degree.
5. Sets if shape was (shape == gp_PntMirror || shape == gp_Ax1Mirror || shape == gp_Ax2Mirror) and matrix transformation is powered in even degree.

    gp_PntMirror
1. Mirror in reference of the point
2. Sets if shape was (gp_Identity || gp_Translation || gp_Scale) and scale factor is set in -1

    gp_Translation
1. SetTranslation with vector and "from point - to point"
2. Sets if shape was gp_Identity and if non-zero location is set for it.

    gp_Rotation
1. SetRotation methods for 2D and 3D

    gp_Scale
1. SetScale methods
2. Sets if shape was gp_Translation and scale factor is not set in +/- 1
3. Sets if shape was (gp_Translation || case gp_PntMirror || gp_Ax1Mirror || gp_Ax2Mirror) and scale factor is not set in +/- 1
TagsNo tags attached.
Test case number
Attached Files

- Relationships
related to 0025374closedbugmaster Community [6.8.0beta regression] gp_Trsf2d::SetMirror() looses transformation form 
related to 0025751closedbugmaster Open CASCADE Eliminate GCC warning -Wunused-but-set-variable in gp_GTrsf2d.cxx for Android build 

-  Notes
(0038407)
nbv (developer)
2015-03-16 17:25
edited on: 2015-03-16 17:26

Attention!

gp_GTrsf2d::Trsf2d () method does not work with not-orthogonal transformation matrix - throws an exception. Is it OK?

(0038410)
abv (manager)
2015-03-16 20:24

> gp_GTrsf2d::Trsf2d () method does not work with not-orthogonal transformation matrix - throws an exception. Is it OK?

Should be intentional, see 0025751
(0038412)
nbv (developer)
2015-03-17 09:32

> gp_GTrsf2d::Trsf2d () method does not work with not-orthogonal transformation matrix - throws an exception. Is it OK?

> Should be intentional, see 0025751

GTrsf2d defines a non persistent transformation in 2D space (see .cdl). Consequently, this method must work well with not-orthogonal matrix. Therefore, necessity of this check is quite strange and this phenomenon should be investigated.

At present, I cannot say, it is OK or not.
(0047516)
msv (developer)
2015-10-28 11:00

The method gp_GTrsf2d::Trsf2d() is to return a well defined transformation that is to be compliance with gp_Trsf2d rules. So it must throw exception if it cannot make a proper conversion.
(0080330)
msv (developer)
2018-10-25 16:54

Dear bugmaster, this is not a bug. And the proposal of changes sounds very unfeasible and not needed at all. Please close it.

- Issue History
Date Modified Username Field Change
2014-10-16 17:08 nbv New Issue
2014-10-16 17:08 nbv Assigned To => nbv
2014-10-16 17:09 nbv Additional Information Updated View Revisions
2014-10-16 17:12 nbv Relationship added related to 0025374
2015-03-16 17:25 nbv Note Added: 0038407
2015-03-16 17:26 nbv Note Edited: 0038407 View Revisions
2015-03-16 20:24 abv Note Added: 0038410
2015-03-16 20:24 abv Relationship added related to 0025751
2015-03-17 09:32 nbv Note Added: 0038412
2015-10-28 11:00 msv Note Added: 0047516
2015-10-28 11:00 msv Target Version 7.0.0 => 7.1.0
2016-10-25 19:04 msv Target Version 7.1.0 => 7.2.0
2017-07-24 09:33 msv Target Version 7.2.0 => 7.3.0
2017-12-05 17:01 msv Target Version 7.3.0 => 7.4.0*
2018-10-25 16:45 nbv Assigned To nbv => msv
2018-10-25 16:54 msv Note Added: 0080330
2018-10-25 16:54 msv Assigned To msv => bugmaster
2018-10-25 16:54 msv Status new => feedback
2018-10-25 17:01 msv Resolution open => no change required
2018-10-29 13:12 bugmaster Status feedback => closed


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker