View Issue Details

IDProjectCategoryView StatusLast Update
0023997Open CASCADEOCCT:Data Exchangepublic2022-10-24 10:38
ReporterabaAssigned Toabv 
PrioritynormalSeverityfeature 
Status feedbackResolutionopen 
PlatformAOSL 
Target Version7.8.0 
Summary0023997: Getting rid of generic classes in DataExchange
DescriptionAs one of steps related to WOK removal, it is necessary to revise generic CDL classes and turn them into non-CDL C++ classes.

As part of this step it is supposed to get rid of generic classes in DataExchange packages.

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.
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • ObservationOfDataExchangeGenericClasses_updated.xls (28,672 bytes)
  • MadeChanges.doc (30,208 bytes)

Relationships

related to 0028966 closedbugmaster Community Coding Rules - remove Adaptor2d_HCurve2d, Adaptor3d_HCurve and Adaptor3d_HSurface classes 
related to 0031025 closedbugmaster Community Coding - declared but unimplemented methods BRepBlend_AppSurf 
child of 0024487 closedabv Open CASCADE Getting rid of generic CDL classes 

Activities

aba

2013-06-07 15:37

developer  

ObservationOfDataExchangeGenericClasses_updated.xls (28,672 bytes)

aba

2013-07-17 16:48

developer  

MadeChanges.doc (30,208 bytes)

aba

2013-07-17 17:58

developer   ~0025101

The git branch CR23997 is ready for reviewing.
All made changes description is in attached MadeChanges.doc document.

Dear gka, please review.

gka

2013-07-18 14:45

developer   ~0025109

Seems it will be better to make class LibCtl_Library not template class but base class in order to avoid code duplication of method SetGlobal() at all instantiations of this class.

aba

2013-07-23 18:29

developer   ~0025139

The git branch CR23997 was updated:
1) The LibCtl_Library class stayed template one, but the variable that was responsible for global list of modules was wrapped with static method.
2) There were some style changes

Dear gka, please review.

gka

2013-07-24 11:33

developer   ~0025141

Branch CR23997 is ready to be tested.

apn

2013-07-24 13:55

administrator   ~0025146

Errors during extraction:

Error : "/misc/dn61/LocalWOK/wok_entities/LOC/dev/CR23997-master-products/src/SatControl/SatControl_Reader.cdl", line 24: Class : XSControl_Reader must not be a normal class.

Error : "/misc/dn61/LocalWOK/wok_entities/LOC/dev/CR23997-master-products/src/SatControl/SatControl_ActorRead.cdl", line 27: Class : Transfer_ActorOfTransientProcess must not be a normal class.

Error : "/misc/dn61/LocalWOK/wok_entities/LOC/dev/CR23997-master-products/src/DxfControl/DxfControl_Reader.cdl", line 23: Class : XSControl_Reader must not be a normal class.

Error : "/misc/dn61/LocalWOK/wok_entities/LOC/dev/CR23997-master-products/src/DxfControl/DxfControl_ActorRead.cdl", line 27: Class : Transfer_ActorOfTransientProcess must not be a normal class.

Error : "/misc/dn61/LocalWOK/wok_entities/LOC/dev/CR23997-master-products/src/XtControl/XtControl_Reader.cdl", line 22: Class : XSControl_Reader must not be a normal class.

Error : "/misc/dn61/LocalWOK/wok_entities/LOC/dev/CR23997-master-products/src/XtControl/XtControl_ActorRead.cdl", line 20: Class : Transfer_ActorOfTransientProcess must not be a normal class.

aba

2013-07-24 19:55

developer   ~0025150

The git branch CR23997 was created in the OCCT Products repository for changes in Products according to the patch for OCCT.

Classes from SatControl, SATCAFControl, XtControl, XTCAFControl, DxfControl, DXFCAFControl were made non-cdl ones.

Dear gka, please review.

gka

2013-07-30 10:16

developer   ~0025198

Branch CR23997 is ready to be tested

mkv

2013-07-30 12:42

tester   ~0025203

Last edited: 2013-07-30 12:44

There are compilation errors:
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR23997/job/mnt-CR23997-CR23997_build_occt_linux/1/parsed_console/?

../../../../inc/LibCtl_Library.hxx:34: error: declaration of ‘typedef struct LibCtl_GlobalNode<ModuleType, ProtocolType> LibCtl_Node<ModuleType, ProtocolType>::LibCtl_GlobalNode’
../../../../inc/LibCtl_Library.hxx:26: error: changes meaning of ‘LibCtl_GlobalNode’ from ‘struct LibCtl_GlobalNode<ModuleType, ProtocolType>’
../../../../inc/LibCtl_Library.hxx:186: error: declaration of ‘typedef class LibCtl_GlobalNode<ModuleType, ProtocolType> LibCtl_Library<ObjectType, ModuleType, ProtocolType>::LibCtl_GlobalNode’
../../../../inc/LibCtl_Library.hxx:98: error: changes meaning of ‘LibCtl_GlobalNode’ from ‘class LibCtl_GlobalNode<ModuleType, ProtocolType>’
../../../../inc/LibCtl_Library.hxx:187: error: declaration of ‘typedef class LibCtl_Node<ModuleType, ProtocolType> LibCtl_Library<ObjectType, ModuleType, ProtocolType>::LibCtl_Node’
../../../../inc/LibCtl_Library.hxx:32: error: changes meaning of ‘LibCtl_Node’ from ‘class LibCtl_Node<ModuleType, ProtocolType>’
../../../../inc/LibCtl_Library.hxx:328: error: extra qualification ‘LibCtl_Library<ObjectType, ModuleType, ProtocolType>::’ on member ‘Next’
../../../../inc/LibCtl_Library.hxx:328: error: explicit specialization of ‘void LibCtl_Library<ObjectType, ModuleType, ProtocolType>::Next()’ must be introduced by ‘template <>’

aba

2013-08-14 18:10

developer   ~0025308

Errors were corrected.

Dear gka, please review.

gka

2013-08-19 16:44

developer   ~0025346

Branch CR23997 is ready to be tested

apn

2013-08-20 13:40

administrator   ~0025352

Last edited: 2013-08-20 13:40

Dear BugMaster,

Branch CR23997 and products from CR23997 was compiled on Linux and Windows platforms and tested.
SHA-1: fd45dddd9392007ddd34de8f69ebf13fde0cced6

Number of compiler warnings:

occt component :
Linux: 918 (923 on master)
Windows: 853 (852 on master)

New warning on Windows: inc/Transfer_TransferProcess.hxx
Transfer_TransferProcess.hxx:2161, MSBuild, Priority: Normal
'toCompute' : unreferenced formal parameter

products component :
Linux: 188 (188 on master)
Windows: 287 (287 on master)

Regressions:
bugs iges buc60625 buc60646
http://occt-tests/CR23997-CR23997-occt/Debian60-64/summary.html
http://occt-tests/CR23997-CR23997-occt/Windows-32-VC9/summary.html

Improvements:
No improvements

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 366216612 / 365981272
Total CPU difference: 42598.27000000113 / 42530.400000000824

Testing on Windows:
Total MEMORY difference: 425817088 / 425949776
Total CPU difference: 43946.546875 / 30358.84375

There are not differences in images found by testdiff.

gka

2013-10-25 12:23

developer   ~0026277

Dear aba.

Please check current state.

Issue History

Date Modified Username Field Change
2013-05-27 13:45 aba New Issue
2013-05-27 13:45 aba Assigned To => aba
2013-05-27 13:46 aba Relationship added related to 0023959
2013-05-27 13:46 aba Status new => assigned
2013-05-27 13:46 aba Summary 0023959: Getting rid of generic classes in DataExchange => Getting rid of generic classes in DataExchange
2013-05-27 13:53 aba Description Updated
2013-05-29 12:18 aba File Added: ObservationOfDataExchangeGenericClasses.xls
2013-05-29 18:02 abv Relationship added child of 0024002
2013-06-07 15:37 aba File Added: ObservationOfDataExchangeGenericClasses_updated.xls
2013-07-17 16:47 aba File Deleted: ObservationOfDataExchangeGenericClasses.xls
2013-07-17 16:48 aba File Added: MadeChanges.doc
2013-07-17 17:58 aba Note Added: 0025101
2013-07-17 17:58 aba Assigned To aba => gka
2013-07-17 17:58 aba Status assigned => resolved
2013-07-18 14:45 gka Note Added: 0025109
2013-07-18 15:20 gka Assigned To gka => aba
2013-07-18 15:20 gka Status resolved => assigned
2013-07-23 18:29 aba Note Added: 0025139
2013-07-23 18:29 aba Assigned To aba => gka
2013-07-23 18:29 aba Status assigned => resolved
2013-07-24 11:33 gka Note Added: 0025141
2013-07-24 11:33 gka Status resolved => reviewed
2013-07-24 12:51 apn Assigned To gka => apn
2013-07-24 13:55 apn Note Added: 0025146
2013-07-24 13:56 apn Test case number => Not needed
2013-07-24 13:56 apn Assigned To apn => aba
2013-07-24 13:56 apn Status reviewed => assigned
2013-07-24 19:55 aba Note Added: 0025150
2013-07-24 19:55 aba Assigned To aba => gka
2013-07-24 19:55 aba Status assigned => resolved
2013-07-30 10:16 gka Note Added: 0025198
2013-07-30 10:16 gka Status resolved => reviewed
2013-07-30 11:31 mkv Assigned To gka => mkv
2013-07-30 12:42 mkv Note Added: 0025203
2013-07-30 12:44 mkv Note Edited: 0025203
2013-07-30 12:44 mkv Assigned To mkv => aba
2013-07-30 12:44 mkv Status reviewed => assigned
2013-08-14 18:10 aba Note Added: 0025308
2013-08-14 18:10 aba Assigned To aba => gka
2013-08-14 18:10 aba Status assigned => resolved
2013-08-19 16:44 gka Note Added: 0025346
2013-08-19 16:44 gka Status resolved => reviewed
2013-08-19 17:44 mkv Assigned To gka => mkv
2013-08-19 17:44 mkv Assigned To mkv => apn
2013-08-20 13:40 apn Note Added: 0025352
2013-08-20 13:40 apn Note Edited: 0025352
2013-08-20 13:41 apn Assigned To apn => aba
2013-08-20 13:41 apn Status reviewed => assigned
2013-10-25 12:23 gka Note Added: 0026277
2013-10-25 12:23 gka Status assigned => feedback
2013-11-19 18:11 san Target Version 6.7.0 => 6.7.1
2014-01-22 10:59 gka Assigned To aba => dln
2014-01-22 10:59 gka Status feedback => assigned
2014-01-22 14:27 abv Relationship deleted related to 0023959
2014-01-22 14:28 abv Relationship deleted child of 0024002
2014-01-22 14:28 abv Relationship added child of 0024487
2014-04-04 18:16 abv Target Version 6.7.1 => 6.8.0
2014-09-26 09:37 abv Target Version 6.8.0 => 7.1.0
2016-10-27 10:36 gka Assigned To dln => abv
2016-10-27 10:36 gka Status assigned => feedback
2016-10-27 10:36 gka Target Version 7.1.0 => 7.2.0
2017-07-27 09:33 abv Target Version 7.2.0 => 7.4.0
2017-08-03 12:03 kgv Relationship added related to 0028966
2019-07-10 22:17 abv Target Version 7.4.0 => 7.5.0
2019-10-03 12:49 kgv Relationship added related to 0031025
2020-09-25 20:35 abv Target Version 7.5.0 => 7.6.0
2021-10-18 14:05 kgv Target Version 7.6.0 => 7.7.0
2022-10-24 10:38 szy Target Version 7.7.0 => 7.8.0