View Issue Details

IDProjectCategoryView StatusLast Update
0028853CommunityOCCT:Application Frameworkpublic2019-07-29 18:09
ReporterBenjaminBihler Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028853: TDF_AttributeIterator should give handles instead of pointers
DescriptionThe Value() method returns a plain pointer to a TDF_Attribute. This seems unnatural, since attributes are added to labels as handles and also passing around plain pointers seems to be avoided in large parts of the OCCT API.
Steps To ReproduceNot required
Additional information
and documentation updates
This issue has caused confusion, because at least one user has thought that it was not possible to later create a handle out of a plain pointer (see https://www.opencascade.com/content/should-tdfattributeiterator-be-handled-care), which is not correct.
TagsNo tags attached.
Test case numberNot required

Relationships

related to 0030739 newkgv Open CASCADE Data Exchange - XCAFDoc_ShapeTool::IsComponent() is too slow 

Activities

git

2017-06-20 16:55

administrator   ~0067549

Branch CR28853 has been created by mpv.

SHA-1: 099898aa4f09bb93802120ce030861428b2da081


Detailed log of new commits:

Author: mpv
Date: Tue Jun 20 16:55:05 2017 +0300

    0028853: TDF_AttributeIterator should give handles instead of pointers
    
     Make "Value" method of the iterator return Handle (instead of pointer) to unify public interfaces.

mpv

2017-06-20 16:57

developer   ~0067550

Please, review.
Making myValue as Handle is not done because it slowes down the iterator.

szy

2017-06-22 10:14

manager   ~0067580

Reviewed.

apv

2017-06-22 14:41

tester   ~0067593

Dear BugMaster,

During building of branch CR28853 (SHA-1: 099898aa4f09bb93802120ce030861428b2da081) from occt git-repository (and master from products git-repository) compilation errors have been detected
on Windows:
http://jenkins-test-09.nnov.opencascade.com/view/CR28853-master/view/OCCT%20compile/job/CR28853-master-OCCT-Windows-64-VC10-opt-compile/1/parsed_console/

Moreover, compilation errors have been detected during building of Qt products samples on Linux:
http://jenkins-test-09.nnov.opencascade.com/view/CR28853-master/view/SAMPLES/job/CR28853-master-Products-Debian70-64-qt-samples-linux/1/parsed_console/

apv

2017-06-22 14:42

tester   ~0067594

Dear mpv,

Branch CR28853 has been rejected due to:
- compilation errors

git

2017-06-26 15:41

administrator   ~0067687

Branch CR28853_2 has been created by mpv.

SHA-1: ebcc6ada8544cd98461c5af4be8948e1e53ac118


Detailed log of new commits:

Author: mpv
Date: Mon Jun 26 15:41:09 2017 +0300

    0028853: TDF_AttributeIterator should give handles instead of pointers
    
    Make "Value" method of the iterator return Handle (instead of pointer) to unify public interfaces.

mpv

2017-06-27 10:28

developer   ~0067712

Fixed in CR28853_2 in sources and CR28853_2 in products.
Tested in
http://jenkins-test-10.nnov.opencascade.com:8080/view/CR28853_2-CR28853_2-MPV/

szy

2017-06-29 11:42

manager   ~0067802

Reviewed.

apv

2017-06-29 12:42

tester   ~0067808

Dear BugMaster,

Branch CR28853_2 from occt git-repository (and CR28853_2 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: ebcc6ada8544cd98461c5af4be8948e1e53ac118
SHA-1: a51c7ef79a82f8cca08f1686245020e370288a82

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1202

Regressions/Differences:
Not detected

Testing cases:
Not required

Testing on Linux:
occt component:
Total MEMORY difference: 92614449 / 92316309 [+0.32%]
Total CPU difference: 19068.200000000197 / 19307.040000000077 [-1.24%]
products component:
Total MEMORY difference: 37660706 / 37648040 [+0.03%]
Total CPU difference: 6409.330000000061 / 6425.730000000078 [-0.26%]

Testing on Windows:
occt component:
Total MEMORY difference: 58830326 / 58831878 [-0.00%]
Total CPU difference: 18016.290288298605 / 17646.30271659867 [+2.10%]
products component:
Total MEMORY difference: 27792578 / 27831679 [-0.14%]
Total CPU difference: 6725.749113500075 / 6609.044765400073 [+1.77%]

apv

2017-06-29 12:43

tester   ~0067809

Dear BugMaster,

Please integrate branch CR28853_2 into the occt git-repository master.
Please integrate branch CR28853_2 into the products git-repository master.

git

2017-07-03 08:45

administrator   ~0067898

Branch CR28853 has been deleted by kgv.

SHA-1: 099898aa4f09bb93802120ce030861428b2da081

git

2017-07-03 08:45

administrator   ~0067899

Branch CR28853_2 has been deleted by kgv.

SHA-1: ebcc6ada8544cd98461c5af4be8948e1e53ac118

Related Changesets

occt: master fe4f17f0

2017-06-26 12:41:09

mpv


Committer: bugmaster Details Diff
0028853: TDF_AttributeIterator should give handles instead of pointers

Make "Value" method of the iterator return Handle (instead of pointer) to unify public interfaces.
Affected Issues
0028853
mod - src/TDF/TDF_AttributeIterator.hxx Diff File
mod - src/TDF/TDF_Data.cxx Diff File

Issue History

Date Modified Username Field Change
2017-06-19 11:01 BenjaminBihler New Issue
2017-06-19 11:01 BenjaminBihler Assigned To => abv
2017-06-20 14:34 mpv Assigned To abv => mpv
2017-06-20 14:34 mpv Category OCCT:Foundation Classes => OCCT:Application Framework
2017-06-20 16:55 git Note Added: 0067549
2017-06-20 16:57 mpv Note Added: 0067550
2017-06-20 16:57 mpv Assigned To mpv => szy
2017-06-20 16:57 mpv Status new => resolved
2017-06-20 16:57 mpv Steps to Reproduce Updated
2017-06-22 10:14 szy Note Added: 0067580
2017-06-22 10:14 szy Assigned To szy => bugmaster
2017-06-22 10:14 szy Status resolved => reviewed
2017-06-22 11:10 apv Test case number => Not required
2017-06-22 11:12 apv Assigned To bugmaster => apv
2017-06-22 14:41 apv Note Added: 0067593
2017-06-22 14:41 apv Assigned To apv => mpv
2017-06-22 14:41 apv Status reviewed => assigned
2017-06-22 14:42 apv Note Added: 0067594
2017-06-26 15:41 git Note Added: 0067687
2017-06-27 10:28 mpv Note Added: 0067712
2017-06-27 10:28 mpv Assigned To mpv => szy
2017-06-27 10:28 mpv Status assigned => resolved
2017-06-29 11:42 szy Note Added: 0067802
2017-06-29 11:42 szy Assigned To szy => bugmaster
2017-06-29 11:42 szy Status resolved => reviewed
2017-06-29 11:52 apv Assigned To bugmaster => apv
2017-06-29 12:42 apv Note Added: 0067808
2017-06-29 12:42 apv Assigned To apv => bugmaster
2017-06-29 12:42 apv Status reviewed => tested
2017-06-29 12:43 apv Note Added: 0067809
2017-06-30 12:01 bugmaster Changeset attached => occt master fe4f17f0
2017-06-30 12:01 bugmaster Status tested => verified
2017-06-30 12:01 bugmaster Resolution open => fixed
2017-07-03 08:45 git Note Added: 0067898
2017-07-03 08:45 git Note Added: 0067899
2017-09-29 16:18 aiv Fixed in Version => 7.2.0
2017-09-29 16:28 aiv Status verified => closed
2019-05-23 23:07 kgv Relationship added related to 0030739