DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0025194

It is necessary to orthogonalize transformation matrix in gp_Trsf and gp_Trsf2d classes

Open CASCADEOCCT:Modeling Algorithmsclosed22 public notes

Search issues

Description

Now it is possible to use not orthogonalized matrix in gp_Trsf2d class.
Using of not orthogonalized matrix in gp_Trsf class is the reason of exception in DEBUG-mode (in RELEASE mode we do not have any exceptions) when some *.brep file is read.

For good work in the future we should always use orthogonal transformation matrix. And shape should always be read from file.

Steps to reproduce

# See test case bugs modalg_5 bug22831

restore [locate_data_file bug22831_face.brep] f

###### File is read in RELEASE-mode and it is not read in DEBUG.

Public activity

22 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Aug 28 15:47:18 2014 +0400

    0025194: It is necessary to orthogonalize transformation matrix in gp_Trsf and gp_Trsf2d classes
    
    1. Method "SetValues()" for gp_Trsf2d class is added.
    2. Method Orthogonalize for gp_Trsf2d and gp_Trsf classes was added.
    3. Unused arguments from "SetValues()" method for gp_Trsf was deleted.
    
    Test bugs/modalg_5/bug22831 is OK after all changes. ALL "TODO" was deleted.
02Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
03Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
04Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
05Commenter 5
Dear Igor.

Please review CR25194 branch.
06Commenter 6
It is necessary to keep old gp_Trsf::SetValue method to avoid possible conflicts with customer applications.
07Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
08Commenter 8
Done in updated CR25194 branch.
09Commenter 9
Ok
10Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
11Commenter 11
Comment in CDL-file is amended.
12Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
13Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
14Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
15Commenter 15
Dear Commenter 1,
Branch CR25194 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested on Release mode on Debug mode.
[revision removed]

Number of compiler warnings:

occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)

There are compilation errors on Products part:

http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR25194/job/mnt-CR25194-master_build_occt_products_linux/1/parsed_console/
../../../../src/AcisGeom/AcisGeom_APattern.cxx: In member function ‘gp_Trsf AcisGeom_APattern::GetTrsf(const TColStd_SequenceOfReal&) const’:
../../../../src/AcisGeom/AcisGeom_APattern.cxx:360: error: no matching function for call to ‘gp_Trsf::SetValues(Standard_Real, Standard_Real, Standard_Real, double, Standard_Real, Standard_Real, Standard_Real, double, Standard_Real, Standard_Real, Standard_Real, double, Standard_Real, Standard_Real)’
/dn61/LocalWOK/wok_entities/LOC/dev/CR25194-master-occt/inc/gp_Trsf.hxx:211: note: candidates are: void gp_Trsf::SetValues(Standard_Real, Standard_Real, Standard_Real, Standard_Real, Standard_Real, Standard_Real, Standard_Real, Standard_Real, Standard_Real, Standard_Real, Standard_Real, Standard_Real)
make[2]: *** [AcisGeom_APattern.lo] Error 1

http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR25194/job/mnt-CR25194-master_build_occt_products_windows/1/parsed_console/
3>..\..\..\src\AcisGeom\AcisGeom_APattern.cxx(360): error C2660: 'gp_Trsf::SetValues' : function does not take 14 arguments
12>..\..\..\src\BestFitAPI\BestFitAPI_Algo.cxx(696): error C2660: 'gp_Trsf::SetValues' : function does not take 14 arguments
3>..\..\..\src\AcisLaw\AcisLaw_PosTransLaw.cxx(56): error C2660: 'gp_Trsf::SetValues' : function does not take 14 arguments
3>..\..\..\src\AcisLaw\AcisLaw_VecTransLaw.cxx(56): error C2660: 'gp_Trsf::SetValues' : function does not take 14 arguments
40>..\..\..\src\DxfData\DxfData.cxx(70): error C2660: 'gp_Trsf::SetValues' : function does not take 14 arguments
40>..\..\..\src\DxfData\DxfData_TranslateInsert.cxx(104): error C2660: 'gp_Trsf::SetValues' : function does not take 14 arguments

Regressions/Differences:
No regressions/differences

Testing cases:
bugs modalg_5(010) bug22831: OK
16Commenter 16
Branch CR25194prod was created for porting all made in CR25194 changes to products.

Dear Testers.

Please retest CR25194 branch (for OCCT) together CR25194prod (for OCCT-products).
17Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
18Commenter 18
Dear Commenter 1,
Branch CR25194 from occt git-repository and CR25194prod from products git-repository was compiled on Linux and Windows platforms and tested on Release mode.
[revision removed]
[revision removed]

Number of compiler warnings:

occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)

products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)

Regressions/Differences:
http://occt-tests/CR25194-CR25194-products/Debian60-64/summary.html
http://occt-tests/CR25194-CR25194-products/Windows-32-VC10/summary.html
dxf doc_1(001) K2, K6

Testing cases:
http://occt-tests/CR25194-CR25194-occt/Debian60-64/bugs/modalg_5/bug22831.html
http://occt-tests/CR25194-CR25194-occt/Windows-32-VC10/bugs/modalg_5/bug22831.html
bugs modalg_5(010) bug22831: OK

Testing on Linux:
occt component :
Total MEMORY difference: 355099840 / 355132184
Total CPU difference: 45817.45999999992 / 45407.68000000016
products component :
Total MEMORY difference: 109907648 / 109865592
Total CPU difference: 17043.68999999999 / 17706.689999999977

Testing on Windows:
occt component :
Total MEMORY difference: 242000768 / 242123384
Total CPU difference: 33281.4375 / 42813.046875
products component :
Total MEMORY difference: 66571820 / 66611856
Total CPU difference: 13385.46875 / 10514.125

There are no differences in images found by testdiff.
19Commenter 19
Dear Mikhail!

Please change regression test cases according to their new behavior. It connects with that they are BAD initially.
20Commenter 20
Ok, I agree
21Commenter 21
Dear Commenter 1,
Test cases dxf/doc_1(001)/K2,K6 are corrected.
22Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records