DiscussionsIssue archiveOCCT:Application Framework

Archived issue #0028908

Improvement on attachment of attributes to the label

Open CASCADEOCCT:Application Frameworkclosed12 public notes

Search issues

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.

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.

01Commenter 2
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
02Author
03Commenter 2
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).

04Commenter 2
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.
05Commenter 2
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
06Author
07Commenter 7
Reviewed. Please, test.
08Commenter 8
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%]
09Commenter 9
Dear Commenter 1,

Please integrate branch CR28908_2 into the occt git-repository master.
10Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
11Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
12Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records