Archived issue #0028908
Improvement on attachment of attributes to the label
Description
Before Open CASCADE 7.0.0 the attributes were prepended to a list of attributes of a label. Later, they were appended. This improvement introduces a boolean flag to the method AddAttribute() to decide for each particular attribute whether it should be appended or prepended.
Some remarks:
A. Prepending some frequently used attributes may accelerate performance (access to the attributes).
B. Some attributes expect a predefined order of attributes at a label (for example, TDataXtd_Presentation and TPrsStd_AISPresentation). In this case appending of attributes is preferable because TPrsStd_AISPresentation is created later.
Some remarks:
A. Prepending some frequently used attributes may accelerate performance (access to the attributes).
B. Some attributes expect a predefined order of attributes at a label (for example, TDataXtd_Presentation and TPrsStd_AISPresentation). In this case appending of attributes is preferable because TPrsStd_AISPresentation is created later.
Steps to reproduce
No need in a new special test. I re-used (and a little extended) an already existing test case "testgrid bugs caf bug24755" - it checks a sequence of attributes attached to a label.
Public activity
12 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Jul 11 11:27:33 2017 +0300
0028908: Improvement on attachment of attributes to the label
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Jul 11 11:27:33 2017 +0300
0028908: Improvement on attachment of attributes to the label
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Jul 14 12:35:50 2017 +0300
The order of attributes in the label is synchronized on copying. Sometimes it is important (for presentation attributes, for example).
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Jul 14 12:35:50 2017 +0300
The order of attributes in the label is synchronized on copying. Sometimes it is important (for presentation attributes, for example).
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Jul 14 13:02:44 2017 +0300
A merged version.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Jul 14 13:02:44 2017 +0300
A merged version.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Jul 24 08:47:30 2017 +0300
A merged version
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Jul 24 08:47:30 2017 +0300
A merged version
Reviewed. Please, test.
Dear Commenter 1,
Branch CR28908_2 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MasOS: 0 (0 on master)
products component:
Linux: 8 (8 on master)
Windows: 0 (0 on master)
MacOS: 2 (2 on master)
Regressions/Differences:
Not detected
Testing cases:
bugs caf bug24755 - OK
http://occt-tests/CR28908-master-OCCT/Debian70-64/bugs/caf/bug24755.html
http://occt-tests/CR28908-master-OCCT/Windows-64-VC10/bugs/caf/bug24755.html
Testing on Linux:
Total MEMORY difference: 94192872 / 92039972 [+2.34%]
Total CPU difference: 19303.149999999983 / 19421.550000000127 [-0.61%]
Testing on Windows:
Total MEMORY difference: 55856386 / 55867730 [-0.02%]
Total CPU difference: 17959.864726598862 / 17810.271985598964 [+0.48%]
Branch CR28908_2 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MasOS: 0 (0 on master)
products component:
Linux: 8 (8 on master)
Windows: 0 (0 on master)
MacOS: 2 (2 on master)
Regressions/Differences:
Not detected
Testing cases:
bugs caf bug24755 - OK
http://occt-tests/CR28908-master-OCCT/Debian70-64/bugs/caf/bug24755.html
http://occt-tests/CR28908-master-OCCT/Windows-64-VC10/bugs/caf/bug24755.html
Testing on Linux:
Total MEMORY difference: 94192872 / 92039972 [+2.34%]
Total CPU difference: 19303.149999999983 / 19421.550000000127 [-0.61%]
Testing on Windows:
Total MEMORY difference: 55856386 / 55867730 [-0.02%]
Total CPU difference: 17959.864726598862 / 17810.271985598964 [+0.48%]
Dear Commenter 1,
Please integrate branch CR28908_2 into the occt git-repository master.
Please integrate branch CR28908_2 into the occt git-repository master.
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records