Thu, 10/10/2024 - 08:20
it is about developing.
In PrsMgr_PresentationManager.hxx file, there are calls to V3d_Viewer. it means a low level framework calls a high level framework.
It makes if you want to to develop something not invlved in AIS or V3d but with SelectMgr_SelectableObject become impossible.
My question is that can we change it to call NCollection_List<Handle(OpenGl_View)>& theViews then we can get rid of high level call from low level.function.
```c++
//! Allows rapid drawing of the each view in theViewer by avoiding an update of the whole background. Standard_EXPORT void EndImmediateDraw (const Handle(V3d_Viewer)& theViewer);
//! Clears and redisplays immediate structures of the viewer taking into account its affinity. Standard_EXPORT void RedrawImmediate (const Handle(V3d_Viewer)& theViewer);
//! Handles the structures from
///////////change to OpenGl_View////////////////////////
```c++
//! Allows rapid drawing of the each view in theViewer by avoiding an update of the whole background.
Standard_EXPORT void EndImmediateDraw (NCollection_List<Handle(OpenGl_View)>& theViews);
//! Clears and redisplays immediate structures of the viewer taking into account its affinity.
Standard_EXPORT void RedrawImmediate (NCollection_List<Handle(OpenGl_View)>& theViews);
//! Handles the structures from <myImmediateList> and displays it separating view-dependent structures and taking into account
//! structure visibility by setting proper affinity.
void displayImmediate ( NCollection_List<Handle(OpenGl_View)>& theViews);
Mon, 10/14/2024 - 08:57
I don't quite understand which problem you are trying to solve.
PrsMgrdepends onV3d,V3ddoesn't depend onPrsMgr(hence, there is no cyclic dependency here) and both belong to the same toolkitTKV3d(although there was an idea #0031429 to move both toTKGraphic3dor toTKService).Can we change here to
OpenGl_View? Certainly we can't, as this would imply direct dependency fromTKOpenGl, which is only one of possible implementations ofGraphic3d_GraphicDriverinterface.Can we change here to
Graphic3d_CView? Yes, it should be possible, although this would require some efforts for passing the list ofGraphic3d_CView, which we currently don't have (as it is stored as a list ofV3d_View, each holdingGraphic3d_CView.Fri, 12/20/2024 - 19:07
"although there was an idea #0031429 to move both to TKGraphic3d or to TKService)"
This is exactly I want. For web application don't want to involve TKV3D, Even if we don't involve AIS.