View Issue Details

IDProjectCategoryView StatusLast Update
0024841Open CASCADEOCCT:Codingpublic2014-11-11 12:52
ReporterabvAssigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.7.0 
Target Version6.8.0Fixed in Version6.8.0 
Summary0024841: Remove duplicated and/or unused instances of collections
DescriptionDuring implementation of 0024750 we found several cases of duplicated instantiations of TCollection classes, e.g. TDF_LabelLabelMap and TDF_LabelDataMap. Such duplicates should be removed. Also, unused instances can be removed.
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0024742 closedabv Remove rarely used collection classes 
child of 0024750 closedabv Replace instantiations of TCollection generic classes by NCollection templates 

Activities

abv

2014-04-16 15:26

manager   ~0028877

Fix pushed to CR24841, please review.

Note that one duplicate was not removed: TopTools_ListOfShape duplicates TopoDS_ListOfShape. The one from TopTools is used everywhere in OCCT and applications, thus its removal would be require too many changes. Making it a CDL alias also does not work because WOK then fails to recognize its package correctly when it is included in 'uses' statements of CDL classes.

kgv

2014-04-16 18:11

developer   ~0028896

Please test the patch.

mkv

2014-04-18 11:14

tester   ~0028957

Dear BugMaster,

Branch CR24841 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 49cb9dd2b7ff2ea438467b26e2e9b915a1c1e17b

Number of compiler warnings:

occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)
MacOS: 413 (413 on master)

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 352210284 / 352653700
Total CPU difference: 65729.28000000013 / 67343.38000000024

Testing on Windows:
Total MEMORY difference: 381267396 / 380717640
Total CPU difference: 36157.484375 / 39760.234375

There are no differences in images found by testdiff.

abv

2014-05-06 15:19

manager   ~0029215

A few more classes should be removed

abv

2014-05-08 11:48

manager   ~0029248

A few more duplicated and unused classes removed, please test branch CR24841_2

apn

2014-05-14 14:29

administrator   ~0029318

Last edited: 2014-05-14 16:27

Dear BugMaster,

Branch CR24841_2 (and products from GIT master) was compiled on Linux, Windows and MacOS platforms and tested.
SHA-1: d3d07e8dffc69988645c948ac4436ef73ad8e2fe

Number of compiler warnings:

occt component :
Linux: 17 (17 on master)
Windows: 0 (0 on master)
MacOS: 205 (212 on master)

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

Regressions/Differences:
No regressions

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 353960072 / 354666856
Total CPU difference: 57225.66999999996 / 51121.65999999977

Testing on Windows:
Total MEMORY difference: 379340944 / 380136296
Total CPU difference: 45515.171875 / 35758.25

There are no differences in images found by testdiff.

Related Changesets

occt: master 97385d61

2014-04-23 08:45:31

abv


Committer: apn Details Diff
0024841: Remove duplicated and/or unused instances of collections

Removed duplicated instantiations of TCollection classes:
- BRepMAT2d_SequenceOfBasicElt: duplicates MAT_SequenceOfBasicElt
- BRepMesh_NodeHasherOfDataStructureOfDelaun, BRepMesh_IDMapOfNodeOfDataStructureOfDelaun: not used
- QADNaming_DataMapOfShapeOfName: duplicates DNaming_DataMapOfShapeOfName
- TDF_LabelLabelMap: not used
- Graphic3d_SequenceOfAddress: not used
- CDM_StackOfDocument: duplicates ListOfDocument (after fix on 0024742)
- Draw_MapOfFunctions: duplicates Plugin_MapOfFunctions
- ExprIntrp_SkackOfNames: duplicates TColStd_ListOfAsciiString (after fix on 0024742)
- in package Storage: (H)SeqOfPersistent, MapPSDHasher, (H)SeqOfCallback: not used

In addition, inheritance of MeshVS_ColorHasher from TColStd_MapIntegerHasher is dropped as it is useless but leads to problems if TColStd_MapIntegerHasher is converted to template.
First of the two overloaded functions Draw::Load() removed as it is unused.
Removed unused classes and files from PCollection and related packages.
Affected Issues
0024841
mod - src/BRepMAT2d/BRepMAT2d.cdl Diff File
mod - src/BRepMAT2d/BRepMAT2d_LinkTopoBilo.cxx Diff File
mod - src/BRepMesh/BRepMesh.cdl Diff File
mod - src/BRepMesh/BRepMesh_DataStructureOfDelaun.cdl Diff File
mod - src/BRepMesh/BRepMesh_FastDiscret.cxx Diff File
mod - src/CDF/CDF_StoreList.cdl Diff File
mod - src/CDM/CDM.cdl Diff File
rm - src/DBC/DBC_CMPLRS.edl Diff File
rm - src/DBC/DBC_LDSHR.edl Diff File
mod - src/DBC/FILES Diff File
mod - src/Draw/Draw.cdl Diff File
mod - src/Draw/Draw.cxx Diff File
mod - src/ExprIntrp/ExprIntrp.cdl Diff File
mod - src/ExprIntrp/ExprIntrp_Analysis.cdl Diff File
mod - src/Graphic3d/Graphic3d.cdl Diff File
mod - src/MeshVS/MeshVS_ColorHasher.cdl Diff File
rm - src/PCollection/FILES Diff File
mod - src/PCollection/PCollection.cdl Diff File
rm - src/PCollection/PCollection_CMPLRS.edl Diff File
rm - src/PCollection/PCollection_Compare.cdl Diff File
rm - src/PCollection/PCollection_Compare.gxx Diff File
rm - src/PCollection/PCollection_CompareOfInteger.cdl Diff File
rm - src/PCollection/PCollection_CompareOfInteger.cxx Diff File
rm - src/PCollection/PCollection_CompareOfReal.cdl Diff File
rm - src/PCollection/PCollection_CompareOfReal.cxx Diff File
rm - src/PCollection/PCollection_Hash.cdl Diff File
rm - src/PCollection/PCollection_Hash.gxx Diff File
rm - src/PCollection/PCollection_HDoubleList.cdl Diff File
rm - src/PCollection/PCollection_HDoubleList.gxx Diff File
rm - src/PCollection/PCollection_HSingleList.cdl Diff File
rm - src/PCollection/PCollection_HSingleList.gxx Diff File
rm - src/PCollection/PCollection_LDSHR.edl Diff File
rm - src/PCollection/PCollection_WOKSteps.edl Diff File
rm - src/PColStd/FILES Diff File
mod - src/PColStd/PColStd.cdl Diff File
rm - src/PColStd/PColStd_CMPLRS.edl Diff File
rm - src/PColStd/PColStd_LDSHR.edl Diff File
mod - src/PMMgt/FILES Diff File
rm - src/PMMgt/PMMgt_CMPLRS.edl Diff File
rm - src/PMMgt/PMMgt_LDSHR.edl Diff File
rm - src/PShort/FILES Diff File
rm - src/PShort/PShort_CMPLRS.edl Diff File
rm - src/PShort/PShort_LDSHR.edl Diff File
rm - src/PStandard/FILES Diff File
rm - src/PStandard/PStandard_CMPLRS.edl Diff File
rm - src/PStandard/PStandard_LDSHR.edl Diff File
mod - src/QADNaming/QADNaming.cdl Diff File
mod - src/QADNaming/QADNaming_ToolsCommands.cxx Diff File
mod - src/Storage/Storage.cdl Diff File
mod - src/TDF/TDF.cdl Diff File
mod - src/V3d/V3d_Viewer.cdl Diff File
mod - src/XCAFDoc/XCAFDoc_DocumentTool.cxx Diff File

Issue History

Date Modified Username Field Change
2014-04-16 14:04 abv New Issue
2014-04-16 14:04 abv Assigned To => kgv
2014-04-16 14:05 abv Assigned To kgv => abv
2014-04-16 14:05 abv Status new => assigned
2014-04-16 14:05 abv Product Version => 6.7.0
2014-04-16 14:05 abv Target Version => 6.8.0
2014-04-16 15:08 abv Relationship added child of 0024750
2014-04-16 15:26 abv Note Added: 0028877
2014-04-16 15:26 abv Assigned To abv => kgv
2014-04-16 15:26 abv Status assigned => resolved
2014-04-16 18:11 kgv Note Added: 0028896
2014-04-16 18:11 kgv Assigned To kgv => bugmaster
2014-04-16 18:11 kgv Status resolved => reviewed
2014-04-16 19:22 mkv Assigned To bugmaster => mkv
2014-04-18 11:14 mkv Note Added: 0028957
2014-04-18 16:36 mkv Test case number => Not needed
2014-04-18 16:36 mkv Assigned To mkv => bugmaster
2014-04-18 16:36 mkv Status reviewed => tested
2014-05-06 15:19 abv Note Added: 0029215
2014-05-06 15:19 abv Assigned To bugmaster => abv
2014-05-06 15:19 abv Status tested => assigned
2014-05-08 11:48 abv Note Added: 0029248
2014-05-08 11:48 abv Assigned To abv => bugmaster
2014-05-08 11:48 abv Status assigned => resolved
2014-05-08 11:48 abv Status resolved => reviewed
2014-05-08 16:12 abv Relationship added related to 0024742
2014-05-08 18:49 mkv Assigned To bugmaster => apn
2014-05-14 14:29 apn Note Added: 0029318
2014-05-14 14:30 apn Assigned To apn => bugmaster
2014-05-14 14:30 apn Status reviewed => tested
2014-05-14 16:27 apn Note Edited: 0029318
2014-05-16 14:44 apn Changeset attached => occt master 97385d61
2014-05-16 14:44 apn Assigned To bugmaster => apn
2014-05-16 14:44 apn Status tested => verified
2014-05-16 14:44 apn Resolution open => fixed
2014-11-11 12:46 aiv Fixed in Version => 6.8.0
2014-11-11 12:52 aiv Status verified => closed