MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0031653Open CASCADE[OCCT] OCCT:Visualizationpublic2020-07-05 02:052020-07-05 02:05
Reporterkgv 
Assigned Tokgv 
PrioritynormalSeverityfeature 
StatusnewResolutionopen 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.5.0*Fixed in Version 
Summary0031653: Visualization, V3d_View - get rid of Computed Mode
DescriptionHistorically V3d_View implements a special Computed Mode for displaying HLR presentation of shapes. This mode has several inconsistencies:
- computeHLR() and Compute() of interactive object live independently.
- HLR presentation overrides active display mode;
  at the same time, normal presentation is still managed and computed,
  and HLR presentation is linked to the presentation of the active display mode
  leading to inconsistencies and bugs.
  For instance, defining different Display Mode and Highlight Mode with active Compute Mode
  which is dynamically enabled/disabled on rotation causes misbehavior.
- HLR is defines as a special case, however real applications might have other scenarios in which they would like to continuously update presentation on camera movement or on each frame redraw.

Therefore, it is proposed revising architecture to avoid inconsistencies and provide more straightforward approach:
- HLR presentation should be computed in exactly the same way as normal presentation.
  E.g., it should be defined as dedicated Display Mode of Presentable Object,
  and presentation manager should call the same Compute() method when View is changed.
- New computePresentation() method will be defined aggregating parameters of computeHLR (camera orientation) and normal Compute() methods (passing display mode). The method will set a special flag to computed presentation indicating its invalidation state with 3 possible values - immutable (only manual updates), viewDependent (only on view orientation change), transient (on each redraw). New method by default will call old Compute() to preserve compatibility with old API.
- Presentation manager will handle per-view and transient presentations specifically, but current implementation have to be changed. Also, it is necessary to check if frustum culling is applied in advance before computing expensive HLR within computeHLR(), however this will require recomputation on panning.
- Computed Mode withing View will be removed. Application will have to switch display mode of specific shapes or default display mode in interactive context to manage HLR and non-HLR modes.
TagsNo tags attached.
Test case number
Attached Files

- Relationships
related to 0031431verifiedkgv Visualization, PrsMgr_PresentableObject - simplify HLR computing interface 

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2020-07-05 02:05 kgv New Issue
2020-07-05 02:05 kgv Assigned To => kgv
2020-07-05 02:05 kgv Relationship added related to 0031431


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker