occt: master 679ecdee

Author Committer Branch Timestamp Parent
kgv bugmaster master 2014-03-20 09:54:12 master 01ca42b2
Changeset 0024637: Visualization - clean up implementation of rendering in immediate mode

Remove unused flag "DoubleBuf".
Remove Visual3d_TransientManager "class" (functionality moved to PrsMgr_PresentationManager).
Remove unused "Add" immediate mode.

V3d_View class - remove methods ::TransientManagerBeginDraw(), ::TransientManagerClearDraw(), ::TransientManagerBeginAddDraw().
Add method ::RedrawImmediate() to redraw only immediate presentations.

OpenGl_GraphicDriver - add methods ::DisplayImmediateStructure(), ::EraseImmediateStructure(), ::RedrawImmediate().
OpenGl_View - manage list of immediate structures.
OpenGl_Workspace - automate rendering workflow of immediate + persistent layers.

Merge PrsMgr_PresentationManager3d class into PrsMgr_PresentationManager.
Mark PrsMgr_PresentationManager3d as alias to PrsMgr_PresentationManager to simplify porting.

Prs3d_Presentation - remove unused field myStruct.
Prs3d_PresentationShadow - shadow link to existing presentation with custom attributes.
Graphic3d_Structure::Highlight() - do not register undisplayed structure in structure manager.

AIS_InteractiveContext, AIS_LocalContext add flag to prevent view update into methods
::MoveTo(), ::HilightNextDetected(), ::HilightPreviousDetected()
to allow update of customized immediate structures before redraw but after ::MoveTo().

Remove unused method AIS_InteractiveContext::Drag().

StdSelect_ViewerSelector3d do not user immediate mode in methods
::DisplayAreas(), ::ClearAreas(), ::ClearSensitive(), ::DisplaySensitive(),

GridEcho - update value in StdSelect_ViewerSelector3d::Pick() instead of V3d_View::Compute().
Do not use global variable for GridEcho vertex.
Redraw immediate mode not within GridEcho but at AIS_InteractiveContext, AIS_LocalContext layer.

V3d_View::ToPixMap() - disable autoupdate during FitAll.
Avoid Redraw() into FBO without ImmediateModeDrawToFront flag.

PrsMgr_PresentationManager stores list of temporary immediate presentations,
automatically cleared within BeginImmediateMode() call.
Methods with ambiguous names have been renamed
(new names now consistent with pre-existed method names in AIS_LocalContext class):
- BeginDraw -> BeginImmediateDraw
- EndDraw -> EndImmediateDraw
Remove now useless Remove() method (and ImmediateRemove() in AIS).

Visual3d_View now stores map of displayed immediate presentations.

ViewerTest_EventManager - eliminate double redraw in selection methods.

Fix warning
mod - src/AIS/AIS_InteractiveContext.cdl Diff File
mod - src/AIS/AIS_InteractiveContext_1.cxx Diff File
mod - src/AIS/AIS_InteractiveContext_2.cxx Diff File
mod - src/AIS/AIS_LengthDimension.hxx Diff File
mod - src/AIS/AIS_LocalContext.cdl Diff File
mod - src/AIS/AIS_LocalContext.cxx Diff File
mod - src/AIS/AIS_LocalContext_1.cxx Diff File
mod - src/AIS/AIS_TexturedShape.hxx Diff File
mod - src/Graphic3d/Graphic3d_CStructure.hxx Diff File
mod - src/Graphic3d/Graphic3d_GraphicDriver.cdl Diff File
mod - src/Graphic3d/Graphic3d_Structure.cdl Diff File
mod - src/Graphic3d/Graphic3d_Structure.cxx Diff File
mod - src/Graphic3d/Graphic3d_StructureManager.cdl Diff File
mod - src/MeshVS/MeshVS_Mesh.cxx Diff File
mod - src/OpenGl/FILES Diff File
mod - src/OpenGl/OpenGl_Flipper.cxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.cxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff File
mod - src/OpenGl/OpenGl_GraphicDriver_7.cxx Diff File
mod - src/OpenGl/OpenGl_NamedStatus.hxx Diff File
mod - src/OpenGl/OpenGl_Structure.cxx Diff File
mod - src/OpenGl/OpenGl_Structure.hxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_2.cxx Diff File
mod - src/OpenGl/OpenGl_Window.cxx Diff File
mod - src/OpenGl/OpenGl_Window.hxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.hxx Diff File
mod - src/OpenGl/OpenGl_Workspace_2.cxx Diff File
rm - src/OpenGl/OpenGl_Workspace_3.cxx Diff File
mod - src/Prs3d/FILES Diff File
mod - src/Prs3d/Prs3d_Presentation.cdl Diff File
mod - src/Prs3d/Prs3d_Presentation.cxx Diff File
add - src/Prs3d/Prs3d_PresentationShadow.cxx Diff File
add - src/Prs3d/Prs3d_PresentationShadow.hxx Diff File
add - src/PrsMgr/FILES Diff File
mod - src/PrsMgr/PrsMgr.cdl Diff File
add - src/PrsMgr/PrsMgr_ListOfPresentations.hxx Diff File
mod - src/PrsMgr/PrsMgr_Presentation3d.cdl Diff File
mod - src/PrsMgr/PrsMgr_PresentationManager.cdl Diff File
mod - src/PrsMgr/PrsMgr_PresentationManager.cxx Diff File
mod - src/PrsMgr/PrsMgr_PresentationManager.lxx Diff File
rm - src/PrsMgr/PrsMgr_PresentationManager3d.cdl Diff File
rm - src/PrsMgr/PrsMgr_PresentationManager3d.cxx Diff File
rm - src/PrsMgr/PrsMgr_PresentationManager3d.lxx Diff File
mod - src/StdSelect/StdSelect_ViewerSelector3d.cxx Diff File
mod - src/V3d/V3d_View.cdl Diff File
mod - src/V3d/V3d_View.cxx Diff File
mod - src/V3d/V3d_Viewer.cdl Diff File
mod - src/V3d/V3d_Viewer.cxx Diff File
mod - src/V3d/V3d_Viewer_4.cxx Diff File
mod - src/V3d/V3d_View_4.cxx Diff File
mod - src/ViewerTest/ViewerTest_EventManager.cxx Diff File
mod - src/Visual3d/Visual3d.cdl Diff File
rm - src/Visual3d/Visual3d_TransientManager.cdl Diff File
rm - src/Visual3d/Visual3d_TransientManager.cxx Diff File
mod - src/Visual3d/Visual3d_View.cdl Diff File
mod - src/Visual3d/Visual3d_View.cxx Diff File
mod - src/Visual3d/Visual3d_ViewManager.cdl Diff File
mod - src/Visual3d/Visual3d_ViewManager.cxx Diff File