X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ViewerProxy.cpp;h=955813a423b61bf8edfeb398ec3c4cb52bf60f51;hb=327f5bbd915fb32d21f2e524a8d97536e0e5dd4b;hp=2f5ba000413b056b8c58deefdd1524dd8803f1f6;hpb=a63f4aea8cf064bae8339c926584316f218d98d5;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ViewerProxy.cpp b/src/XGUI/XGUI_ViewerProxy.cpp index 2f5ba0004..955813a42 100644 --- a/src/XGUI/XGUI_ViewerProxy.cpp +++ b/src/XGUI/XGUI_ViewerProxy.cpp @@ -47,13 +47,16 @@ Handle(V3d_View) XGUI_ViewerProxy::activeView() const } } -void XGUI_ViewerProxy::setViewProjection(double theX, double theY, double theZ) +void XGUI_ViewerProxy::setViewProjection(double theX, double theY, double theZ, double theTwist) { Handle(V3d_View) aView3d = activeView(); if (!aView3d.IsNull()) { aView3d->SetProj(theX, theY, theZ); + aView3d->SetTwist( theTwist ); aView3d->FitAll(0.01, true); aView3d->SetZSize(0.); + if (aView3d->Depth() < 0.1) + aView3d->DepthFitAll(); } } @@ -272,6 +275,16 @@ bool XGUI_ViewerProxy::isMultiSelectionEnabled() const } } +//*************************************** +bool XGUI_ViewerProxy::enableDrawMode(bool isEnabled) +{ + if (myWorkshop->isSalomeMode()) { + return myWorkshop->salomeConnector()->viewer()->enableDrawMode(isEnabled); + } else { + return myWorkshop->mainWindow()->viewer()->enableDrawMode(isEnabled); + } +} + //*************************************** void XGUI_ViewerProxy::addSelectionFilter(const Handle(SelectMgr_Filter)& theFilter) { @@ -284,6 +297,12 @@ void XGUI_ViewerProxy::removeSelectionFilter(const Handle(SelectMgr_Filter)& the myWorkshop->displayer()->removeSelectionFilter(theFilter); } +//*************************************** +bool XGUI_ViewerProxy::hasSelectionFilter(const Handle(SelectMgr_Filter)& theFilter) +{ + return myWorkshop->displayer()->hasSelectionFilter(theFilter); +} + //*************************************** void XGUI_ViewerProxy::clearSelectionFilters() { @@ -322,7 +341,11 @@ void XGUI_ViewerProxy::Zfitall() } else { AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer(); AppElements_ViewWindow* aView = aViewer->activeViewWindow(); - if (aView) - aView->v3dView()->ZFitAll(); + if (aView) { + Handle(V3d_View) aView3d = aView->v3dView(); + aView3d->ZFitAll(); + if (aView3d->Depth() < 0.1) + aView3d->DepthFitAll(); + } } } \ No newline at end of file