View Issue Details

IDProjectCategoryView StatusLast Update
0008205Open CASCADEOCCT:Visualizationpublic2014-02-11 13:13
ReportersanAssigned Tosan 
PrioritynormalSeverityfeature 
Status closedResolutionwon't fix 
OSAll 
Summary0008205: "DisplayPriority" attribute needed for PrsMgr_PresentableObject
DescriptionIt is desirable to have "DisplayPriority" attribute in PrsMgr_PresentableObject
class.
It is a common practice to design an application, so that creation of
presentations and their visualization are perfromed by separate classes (let's
call them Displayer and Viewer). Display priority plays sometimes an important
role in displaying partially overlapped presentations. Unfortunately, currently
there is no way for Displayer to set required display priority for a certain
presentable object in advance: it is necessary to change display priority
thorugh AIS_InteractiveContext (or PrsMgr_PresentationManager) interface AFTER
displaying an object. This is not convenient.

It is proposed to add the following methods to PrsMgr_PresentableObject class:
- DisplayPriority(): returns current value of myDisplayPriority field;
- SetDisplayPriority(): stores new value in myDisplayPriority field AND,
probably, updates all DISPLAYED object presentations according to it (see
PrsMgr_PresentationManager::SetDisplayPriority()).

All methods of PrsMgr_PresentationManager class which deal with presentable
objects should be modified to take this new attribute into account.
Additional information
and documentation updates
Documentation remark, added by AEL 2005-07-27 10:28:09:

Improvements:
Added methods to manage display priority attribute and algorithm in
PrsMgr_PresentableObject class and modified algorithm to control display
priority to let programmer set the display priority attribute before displaying
an object. Unfortunately there was common practice in OpenCASCADE to set display
priority for objects at the displaying phase and also for transparent,
highlighted and other objects. To avoid collisions with previous algorithm it
was divided in two parts.
So now programmer should use PrsMgr_PresentableObject->SetDisplayPriority method
before displaying an object and it will affect all presentations of the object
and to change after displaying an object should be used dependent on context
method SetDisplayPriority() through the AIS context.
Modified entities:
    In the PrsMgr package:
-PrsMgr_PresentableObject.cdl and PrsMgr_PresentableObject.cxx:
added new methods to manage display priority attribute (SetDisplayPriority,
DisplayPriority, ResetDisplayPriority, UpdatePriority).
-PrsMgr_PresentationManager.cxx - modification of corresponding methods

    In the Graphic3d package:
-Graphic3d_Structure.cxx - modification of corresponding methods
TagsNo tags attached.
Test case number

Attached Files

Activities

2005-07-27 10:28

 

ael-OCC8205-v1.tar.gz (20,279 bytes)

kgv

2014-02-05 14:59

developer   ~0027776

Dear bugmaster,

please close this issue.

Issue History

Date Modified Username Field Change
2005-02-28 12:32 bugmaster Assigned To bugmaster => san
2005-02-28 12:32 bugmaster Status new => assigned
2005-04-19 10:29 san Assigned To san => ael
2005-07-27 12:28 ael Status assigned => resolved
2005-08-04 10:17 apv CC => apv
2005-08-04 12:53 apv CC => aki
2006-08-22 12:54 bugmaster Status resolved => assigned
2011-08-02 11:24 bugmaster Category OCCT:VIZ => OCCT:Visualization
2012-01-13 18:30 atp Assigned To ael =>
2012-01-13 18:30 atp Fixed in Version EMPTY =>
2012-01-13 18:30 atp Description Updated
2012-01-13 18:30 atp Additional Information Updated
2012-05-11 15:58 bugmaster Assigned To => san
2014-02-05 14:59 kgv Note Added: 0027776
2014-02-05 14:59 kgv Assigned To san => bugmaster
2014-02-05 14:59 kgv Status assigned => feedback
2014-02-05 14:59 kgv Resolution open => won't fix
2014-02-11 13:13 bugmaster Status feedback => closed
2014-02-11 13:13 bugmaster Assigned To bugmaster => san