View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0025389 | Open CASCADE | OCCT:Modeling Algorithms | public | 2014-10-16 17:08 | 2018-10-29 13:12 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | no change required | ||
Target Version | 7.4.0 | ||||
Summary | 0025389: It is necessary to revise conformity between real transformation and status of gp_TrsfForm | ||||
Description | The 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 | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
Attention! gp_GTrsf2d::Trsf2d () method does not work with not-orthogonal transformation matrix - throws an exception. Is it OK? |
|
> gp_GTrsf2d::Trsf2d () method does not work with not-orthogonal transformation matrix - throws an exception. Is it OK? Should be intentional, see 0025751 |
|
> 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. |
|
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. |
|
Dear bugmaster, this is not a bug. And the proposal of changes sounds very unfeasible and not needed at all. Please close it. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-10-16 17:08 |
|
New Issue | |
2014-10-16 17:08 |
|
Assigned To | => nbv |
2014-10-16 17:09 |
|
Additional Information Updated | |
2014-10-16 17:12 |
|
Relationship added | related to 0025374 |
2015-03-16 17:25 |
|
Note Added: 0038407 | |
2015-03-16 17:26 |
|
Note Edited: 0038407 | |
2015-03-16 20:24 |
|
Note Added: 0038410 | |
2015-03-16 20:24 |
|
Relationship added | related to 0025751 |
2015-03-17 09:32 |
|
Note Added: 0038412 | |
2015-10-28 11:00 |
|
Note Added: 0047516 | |
2015-10-28 11:00 |
|
Target Version | 7.0.0 => 7.1.0 |
2016-10-25 19:04 |
|
Target Version | 7.1.0 => 7.2.0 |
2017-07-24 09:33 |
|
Target Version | 7.2.0 => 7.3.0 |
2017-12-05 17:01 |
|
Target Version | 7.3.0 => 7.4.0 |
2018-10-25 16:45 |
|
Assigned To | nbv => msv |
2018-10-25 16:54 |
|
Note Added: 0080330 | |
2018-10-25 16:54 |
|
Assigned To | msv => bugmaster |
2018-10-25 16:54 |
|
Status | new => feedback |
2018-10-25 17:01 |
|
Resolution | open => no change required |
2018-10-29 13:12 | bugmaster | Status | feedback => closed |