MantisBT - Open CASCADE
View Issue Details
0023959Open CASCADE[OCCT] OCCT:Visualizationpublic2013-05-13 15:442014-01-22 14:27
san 
aba 
normalfeature 
closedfixed 
ALL
 
[OCCT] 6.7.0[OCCT] 6.7.0 
Not needed
0023959: Getting rid of generic classes in Visualization
As one of steps related to WOK removal, it is necessary to revise generic CDL classes and turn them into non-CDL C++ classes.

If a class is used only once, it should become a regular C++ class. If a class is re-used in several places, the option to make it a C++ template should be considered.

It is proposed to start from the visualization packages (TKV3d toolkit - actually only Prs3d package is concerned, it contains 16 generic classes as of today).
No tags attached.
parent of 0024120closed bugmaster Move out StdPrs_WFShape implementation to StdPrs_WFShape.cxx 
child of 0024487closed abv Getting rid of generic CDL classes 
Issue History
2013-05-13 15:44sanNew Issue
2013-05-13 15:44sanAssigned To => aba
2013-05-13 15:44sanStatusnew => assigned
2013-05-15 12:31abvSummaryGetting rid of generic classes => Getting rid of generic classes in Visualization
2013-05-20 16:02abaNote Added: 0024438
2013-05-20 16:02abaAssigned Toaba => san
2013-05-20 16:02abaStatusassigned => resolved
2013-05-23 16:19sanNote Added: 0024496
2013-05-23 16:19sanAssigned Tosan => aba
2013-05-23 16:19sanStatusresolved => assigned
2013-05-27 12:35abaNote Added: 0024520
2013-05-27 12:35abaAssigned Toaba => san
2013-05-27 12:35abaStatusassigned => resolved
2013-05-27 13:46abaRelationship addedrelated to 0023997
2013-05-29 18:02abvRelationship addedchild of 0024002
2013-05-29 18:15sanNote Added: 0024550
2013-05-29 18:15sanAssigned Tosan => bugmaster
2013-05-29 18:15sanStatusresolved => reviewed
2013-05-30 15:32bugmasterAssigned Tobugmaster => mkv
2013-05-31 10:42mkvNote Added: 0024576
2013-05-31 10:43mkvTest case number => Not needed
2013-05-31 10:43mkvAssigned Tomkv => aba
2013-05-31 10:43mkvStatusreviewed => assigned
2013-05-31 12:12abaAssigned Toaba => mkv
2013-05-31 12:35mkvNote Added: 0024580
2013-05-31 12:35mkvStatusassigned => resolved
2013-05-31 12:36mkvStatusresolved => reviewed
2013-05-31 16:47mkvNote Added: 0024587
2013-05-31 16:47mkvAssigned Tomkv => aba
2013-05-31 16:47mkvStatusreviewed => assigned
2013-06-03 13:14abaNote Added: 0024601
2013-06-03 13:14abaAssigned Toaba => san
2013-06-03 13:14abaStatusassigned => resolved
2013-06-03 22:00sanNote Added: 0024619
2013-06-03 22:00sanAssigned Tosan => bugmaster
2013-06-03 22:00sanStatusresolved => reviewed
2013-06-05 14:41mkvNote Added: 0024637
2013-06-05 14:42mkvAssigned Tobugmaster => aba
2013-06-05 14:42mkvStatusreviewed => assigned
2013-06-07 14:24mkvNote Added: 0024695
2013-06-07 14:25mkvAssigned Toaba => bugmaster
2013-06-07 14:25mkvStatusassigned => resolved
2013-06-07 14:25mkvStatusresolved => reviewed
2013-06-07 14:25mkvStatusreviewed => tested
2013-06-07 15:01abaNote Added: 0024697
2013-06-07 15:01abaStatustested => feedback
2013-06-13 11:30bugmasterAssigned Tobugmaster => mkv
2013-06-13 11:30bugmasterStatusfeedback => reviewed
2013-06-13 13:43mkvNote Added: 0024746
2013-06-13 13:44mkvAssigned Tomkv => aba
2013-06-13 13:44mkvStatusreviewed => assigned
2013-06-13 17:24abaNote Added: 0024750
2013-06-13 17:24abaAssigned Toaba => san
2013-06-13 17:24abaStatusassigned => resolved
2013-06-13 17:24abaNote Edited: 0024750bug_revision_view_page.php?bugnote_id=24750#r5504
2013-06-14 14:48sanNote Added: 0024757
2013-06-14 14:48sanAssigned Tosan => bugmaster
2013-06-14 14:48sanStatusresolved => reviewed
2013-06-17 10:44mkvAssigned Tobugmaster => mkv
2013-06-18 10:38mkvNote Added: 0024779
2013-06-18 10:39mkvAssigned Tomkv => bugmaster
2013-06-18 10:39mkvStatusreviewed => tested
2013-06-21 09:52abaChangeset attached => occt master d7223c76
2013-06-21 09:52abaAssigned Tobugmaster => aba
2013-06-21 09:52abaStatustested => verified
2013-06-21 09:52abaResolutionopen => fixed
2013-08-21 11:34kgvRelationship addedparent of 0024120
2013-12-19 13:52bugmasterStatusverified => closed
2013-12-19 13:57bugmasterFixed in Version => 6.7.0
2014-01-22 14:27abvRelationship deletedrelated to 0023997
2014-01-22 14:27abvRelationship deletedchild of 0024002
2014-01-22 14:27abvRelationship addedchild of 0024487

Notes
(0024438)
aba   
2013-05-20 16:02   
The git branch CR23959 is ready to be reviewed.

Generic classes replaced with template classes:
1) Prs3d_WFShape,
2) Prs3d_Point

Classes in StdPrs replaced with simple classes (as they implement generic classes from Prs3d):
1) StdPrs_WFRestrictedFace (implements Prs3d_WFRestrictedFace generic class)
2) StdPrs_HLRShape (implements Prs3d_HLRShape generic class)
3) DsgPrs_DatumPrs (implements Prs3d_Datum genetic class)

Classes deleted as empty and unused:
1) Prs3d_SectionShapeTool
2) Prs3d_PointTool
3) Prs3d_LineTool
4) Prs3d_HLRShapeTool
5) Prs3d_VectorTool
6) Prs3d_DatumTool
7) Prs3d_RestrictionTool

Classes removed as unused:
1) Prs3d_CurvePresentation
2) Prs3d_Vector
3) Prs3d_Line

Classes removed as unused (this functionality exists in StdPrs already):
1) Prs3d_WFDeflectionRestrictedFace

Dear san, please review.
(0024496)
san   
2013-05-23 16:19   
Branch CR23959 reviewed with the following remark:

- src/StdPrs/StdPrs_WFDeflectionShape.hxx, src/StdPrs/StdPrs_WFShape.hxx, src/StdPrs/StdPrs_Point.hxx, src/StdPrs/StdPrs_Vertex.hxx: typedef is preferred over #define, it provides type information to the compiler so the latter can produce more meaningful messages.
(0024520)
aba   
2013-05-27 12:35   
In files:
src/StdPrs/StdPrs_WFDeflectionShape.hxx,
src/StdPrs/StdPrs_WFShape.hxx,
src/StdPrs/StdPrs_Point.hxx,
src/StdPrs/StdPrs_Vertex.hxx

define directive was changed to typedef.

Dear san, please review.
(0024550)
san   
2013-05-29 18:15   
Branch CR23959 reviewed without remarks, ready for testing.
(0024576)
mkv   
2013-05-31 10:42   
Dear BugMaster,

Branch CR23959 was compiled on Linux platform.
There are following extraction errors:
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR23959/job/mnt-CR23959-master_prepare_occt_linux/1/parsed_console/? [^]
(0024580)
mkv   
2013-05-31 12:35   
Dear BugMaster,
Branch CR23959 was recompiled on Linux platform.
Extraction step is good now.
Branch CR23959 will be compiled and tested now.
(0024587)
mkv   
2013-05-31 16:47   
Dear BugMaster,

Branch CR23959 was compiled on Linux platform.
There are following compilation errors:
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR23959/job/mnt-CR23959-master_build_occt_linux/1/parsed_console/? [^]
(0024601)
aba   
2013-06-03 13:14   
Compilation errors were corrected.
The git branch CR23959 was updated.
Dear san, please review.
(0024619)
san   
2013-06-03 22:00   
Branch CR23959 reviewed without remarks, ready for testing.
(0024637)
mkv   
2013-06-05 14:41   
Dear BugMaster,

Branch CR23959 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: d7dbd840c02afa1d707272a221525a43d3df3f8a

Number of compiler warnings:

occt component :
Linux: 2 (2 on master)
Windows: 7 (7 on master)

products component :
Linux: 0 (0 on master)
Windows: 63 (63 on master)

Regressions:
http://occt-tests/CR23959-master-occt/Windows-32-VC9/bugs/vis/bug23747_1.html [^]
bugs vis(004) bug23747_1 - BAD.

Improvements:
No improvements

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 366497096 / 366248232
Total CPU difference: 45936.57000000106 / 41752.48000000117

Testing on Windows:
Total MEMORY difference: 415872024 / 417160992
Total CPU difference: 43948.4375 / 41088.75

There are not differences in images found by testdiff.
(0024695)
mkv   
2013-06-07 14:24   
Dear BugMaster,

Test case bugs/vis(004)/bug23747_1 is not stable, it is OK "by hands".
Branch CR23959 is tested.
(0024697)
aba   
2013-06-07 15:01   
Dear BugMaster,
Branch CR23959 was updated.
In DsgPrs_DatumPrs incorrect marker drawing in the origin of trihedron was fixed.
Could you please test it once more?
(0024746)
mkv   
2013-06-13 13:43   
Dear BugMaster,

Branch CR23959 was compiled on Linux platform.
There are following compilation error:
In file included from ../../../../src/DsgPrs/DsgPrs_DatumPrs.cxx:18:


../../../../inc/DsgPrs_DatumPrs.hxx:32: error: ISO C++ forbids declaration of ‘gp_Ax2’ with no type

../../../../inc/DsgPrs_DatumPrs.hxx:32: error: expected ‘,’ or ‘...’ before ‘&’ token

../../../../src/DsgPrs/DsgPrs_DatumPrs.cxx:31: error: prototype for ‘void DsgPrs_DatumPrs::Add(const Handle_Prs3d_Presentation&, const gp_Ax2&, const Handle_Prs3d_Drawer&)’ does not match any in class ‘DsgPrs_DatumPrs’

../../../../inc/DsgPrs_DatumPrs.hxx:30: error: candidate is: static void DsgPrs_DatumPrs::Add(const Handle_Prs3d_Presentation&, int)


make[2]: *** [DsgPrs_DatumPrs.lo] Error 1
(0024750)
aba   
2013-06-13 17:24   
Compilation errors were corrected. The git branch was updated.

Dear san, please review.

(0024757)
san   
2013-06-14 14:48   
Branch CR23959 reviewed without remarks, ready for testing.
(0024779)
mkv   
2013-06-18 10:38   
Dear BugMaster,

Branch CR23959 (and products from GIT master) was compiled on Linux and Windows platforms and tested.

Number of compiler warnings:

occt component :
Linux: 2 (2 on master)
Windows: 7 (7 on master)

products component :
Linux: 0 (0 on master)
Windows: 63 (63 on master)

Regressions:
No regressions

Improvements:
No improvements

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 366580304 / 364462604
Total CPU difference: 43905.89000000086 / 41174.07000000086

Testing on Windows:
Total MEMORY difference: 414606788 / 413497168
Total CPU difference: 36272.75 / 34944.171875

There are not differences in images found by testdiff.