DiscussionsIssue archiveOCCT:Visualization

Archived issue #0024321

Use List collection instead of NCollection_Set for collection of Handle(Graphic3d_ClipPlane)

Open CASCADEOCCT:Visualizationclosed3 public notes

Search issues

Description

Currently Graphic3d_SetOfHClipPlane is NCollection_Set. Disadvantage of such approach is that NCollection_Set does not guarantee that the objects will be returned in the order in which they were added. This makes it difficult to reuse the Graphic3d_SetOfHClipPlane in applications.

Additional information

Description:
The NCollection_Set (Graphic3d_SetOfHClipPlane) was replaced by ordered NCollection_Sequence type (Graphic3d_SequenceOfHClipPlane) to manage collections of planes.

List of changes:
1) Graphic3d_SetOfHClipPlane was replaced by Graphic3d_SequenceOfHClipPlane.
2) PrsMgr_PresentableObject::SetClipPlanes(..), GetClipPlanes() now accept Graphic3d_SequenceOfHClipPlane collection type.
3) V3d_View::SetClipPlanes(...), GetClipPlanes() now accept Graphic3d_SequenceOfHClipPlane collection type.


Porting notes:
It might be necessary to revise code of your application which deals with Graphic3d_SetOfHClipPlane collections and replace the occurrences by similar ordered Graphic3d_SequenceOfHClipPlane collection type.

Public activity

3 archived notes

Participants are labeled by their role within this record.

01Commenter 1
Dear dbv,

Could you please review branch CR24321?
02Commenter 2
Reviewed without remarks, please test.
03Commenter 3
Dear Commenter 1,

Branch CR24321 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]

Number of compiler warnings:

occt component :
Linux: 317 (317 on master)
Windows: 0 (0 on master)

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

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 357424944 / 357253212
Total CPU difference: 44814.02000000031 / 43279.94000000018

Testing on Windows:
Total MEMORY difference: 411868556 / 411604936
Total CPU difference: 31403.84375 / 34417.765625

There are not differences in images found by testdiff.