From fb3f5a45802f9374a9dcd0f4c7b656dca4118545 Mon Sep 17 00:00:00 2001 From: vsv Date: Mon, 25 May 2020 19:30:00 +0300 Subject: [PATCH] Issue #3233:Resize thrihedron arrows on zooming to avoid "big arrows". --- doc/gui/Introduction.rst | 2 ++ doc/gui/images/visualization_preferences.png | Bin 57613 -> 20157 bytes src/ModuleBase/ModuleBase_IModule.h | 4 +++ src/PartSet/PartSet_Module.cpp | 27 ++++++++++++-- src/PartSet/PartSet_Module.h | 2 +- src/SHAPERGUI/SHAPERGUI.cpp | 35 ++++++++++--------- src/SHAPERGUI/SHAPERGUI.h | 2 ++ src/SHAPERGUI/SHAPERGUI_SalomeViewer.cpp | 11 +++++- src/SHAPERGUI/SHAPERGUI_SalomeViewer.h | 3 ++ 9 files changed, 65 insertions(+), 21 deletions(-) diff --git a/doc/gui/Introduction.rst b/doc/gui/Introduction.rst index c1f42514c..1d435f881 100644 --- a/doc/gui/Introduction.rst +++ b/doc/gui/Introduction.rst @@ -540,6 +540,8 @@ This tab defines presentation of objects displayed in OCC 3D viewer. - **Sketch auxiliary entity color** selects default color for sketch auxiliary objects; - **Sketch overconstraint color** selects default color for a sketch with redundant constraints; - **Sketch fully constraint color** selects default color for a sketch with zero degrees of freedom. +- **Zoom trihedron arrows** if this control is checked then arrows of a view trihedron will be scaled according to current view scale +- **Axis arrow size** relative size of trihedron arrows. It has effect only in case if **Zoom trihedron arrows** is On. To redefine any color click on the corresponding line to access **Select color** dialog box diff --git a/doc/gui/images/visualization_preferences.png b/doc/gui/images/visualization_preferences.png index 6a1b50983008c62b27def8079e615cf49c2e9738..5328894f6e9e909dc6b628db7c13f705cff0efbd 100755 GIT binary patch literal 20157 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 S0+|00h`5NfaGs#{`~L^sr`hWO literal 57613 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�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 b04njno9h|du)J6900000NkvXXu0mjfExNLY diff --git a/src/ModuleBase/ModuleBase_IModule.h b/src/ModuleBase/ModuleBase_IModule.h index 963070788..0aa1f39eb 100644 --- a/src/ModuleBase/ModuleBase_IModule.h +++ b/src/ModuleBase/ModuleBase_IModule.h @@ -421,6 +421,10 @@ public slots: /// \param theAIS a presentation object virtual void onBeforeObjectErase(ObjectPtr theObject, AISObjectPtr theAIS) {} + /// Called on transformation in current viewer + /// \param theTrsfType type of tranformation + virtual void onViewTransformed(int theTrsfType = 2) {} + protected slots: /// Called on selection changed event virtual void onSelectionChanged() {} diff --git a/src/PartSet/PartSet_Module.cpp b/src/PartSet/PartSet_Module.cpp index 8dfec292f..7ac26dd9c 100644 --- a/src/PartSet/PartSet_Module.cpp +++ b/src/PartSet/PartSet_Module.cpp @@ -236,6 +236,7 @@ PartSet_Module::PartSet_Module(ModuleBase_IWorkshop* theWshop) "Hidden faces transparency", Config_Prop::DblSpin, "0.8"); + std::ostringstream aStream; aStream << SketcherPrs_Tools::getDefaultArrowSize(); Config_PropManager::registerProp("Visualization", "dimension_arrow_size", @@ -258,6 +259,12 @@ PartSet_Module::PartSet_Module(ModuleBase_IWorkshop* theWshop) "Feature items in Object Browser", Config_Prop::Color, FEATURE_ITEM_COLOR); + Config_PropManager::registerProp("Visualization", "zoom_trihedron_arrows", + "Zoom trihedron arrows", Config_Prop::Boolean, "false"); + + Config_PropManager::registerProp("Visualization", "axis_arrow_size", + "Axis arrow size", Config_Prop::IntSpin, "10"); + Config_PropManager::registerProp("Shortcuts", "add_parameter_shortcut", "Add parameter in parameters manager dialog", Config_Prop::Shortcut, "Ctrl+A"); @@ -1156,13 +1163,13 @@ void PartSet_Module::onViewTransformed(int theTrsfType) return; bool isModified = false; + double aLen = aView->Convert(SketcherPrs_Tools::getConfigArrowSize()); ModuleBase_Operation* aCurrentOperation = myWorkshop->currentOperation(); if (aCurrentOperation && (PartSet_SketcherMgr::isSketchOperation(aCurrentOperation) || sketchMgr()->isNestedSketchOperation(aCurrentOperation) || (aCurrentOperation->id() == "Measurement"))) { - double aLen = aView->Convert(SketcherPrs_Tools::getConfigArrowSize()); double aPrevLen = SketcherPrs_Tools::getArrowSize(); SketcherPrs_Tools::setArrowSize(aLen); @@ -1183,10 +1190,24 @@ void PartSet_Module::onViewTransformed(int theTrsfType) isModified = true; } } - if (isModified) - aDisplayer->updateViewer(); } + // Manage trihedron arrows + if (Config_PropManager::boolean("Visualization", "zoom_trihedron_arrows")) { + Handle(AIS_Trihedron) aTrihedron = aViewer->trihedron(); + if (!aTrihedron.IsNull()) { + double aAxLen = + aView->Convert(Config_PropManager::integer("Visualization", "axis_arrow_size")); + Handle(Prs3d_DatumAspect) aDatumAspect = aTrihedron->Attributes()->DatumAspect(); + double aAxisLen = aDatumAspect->AxisLength(Prs3d_DP_XAxis); + aDatumAspect->SetAttribute(Prs3d_DP_ShadingConeLengthPercent, aAxLen / aAxisLen); + aTrihedron->Attributes()->SetDatumAspect(aDatumAspect); + aContext->Redisplay(aTrihedron, false); + isModified = true; + } + } + if (isModified) + aDisplayer->updateViewer(); } //****************************************************** diff --git a/src/PartSet/PartSet_Module.h b/src/PartSet/PartSet_Module.h index bd9150861..7567f40a2 100644 --- a/src/PartSet/PartSet_Module.h +++ b/src/PartSet/PartSet_Module.h @@ -412,7 +412,7 @@ public slots: /// Called on transformation in current viewer /// \param theTrsfType type of tranformation - void onViewTransformed(int theTrsfType = 2); + virtual void onViewTransformed(int theTrsfType = 2); protected slots: /// Called when previous operation is finished diff --git a/src/SHAPERGUI/SHAPERGUI.cpp b/src/SHAPERGUI/SHAPERGUI.cpp index 941258cf1..32633baa1 100644 --- a/src/SHAPERGUI/SHAPERGUI.cpp +++ b/src/SHAPERGUI/SHAPERGUI.cpp @@ -136,7 +136,8 @@ private: SHAPERGUI::SHAPERGUI() : LightApp_Module("SHAPER"), mySelector(0), myIsOpened(0), myPopupMgr(0), myIsInspectionVisible(false), - myInspectionPanel(0), myIsFacesPanelVisible(false), myIsToolbarsModified(false) + myInspectionPanel(0), myIsFacesPanelVisible(false), myIsToolbarsModified(false), + myAxisArrowRate(-1) { myWorkshop = new XGUI_Workshop(this); connect(myWorkshop, SIGNAL(commandStatusUpdated()), @@ -328,11 +329,6 @@ bool SHAPERGUI::activateModule(SUIT_Study* theStudy) XGUI_Displayer* aDisp = myWorkshop->displayer(); QObjectPtrList aObjList = aDisp->displayedObjects(); - //if (myHighlightPointAspect.IsNull()) { - // Handle(AIS_Trihedron) aTrihedron = mySelector->viewer()->getTrihedron(); - // myHighlightPointAspect = - // new Graphic3d_AspectMarker3d(aTrihedron->getHighlightPointAspect()->Aspect().operator*()); - //} if (myOldSelectionColor.size() == 0) myOldSelectionColor = aDisp->selectionColor(); @@ -419,11 +415,14 @@ bool SHAPERGUI::deactivateModule(SUIT_Study* theStudy) } // Delete selector because it has to be redefined on next activation if (mySelector) { - //if (!myHighlightPointAspect.IsNull()) { - // Handle(AIS_Trihedron) aTrihedron = mySelector->viewer()->getTrihedron(); - // aTrihedron->getHighlightPointAspect()->SetAspect(myHighlightPointAspect); - // myHighlightPointAspect.Nullify(); - //} + // Restore size of arrows of trihedron + if (myAxisArrowRate > 0) { + Handle(AIS_Trihedron) aTrihedron = mySelector->viewer()->getTrihedron(); + Handle(Prs3d_DatumAspect) aDatumAspect = aTrihedron->Attributes()->DatumAspect(); + aDatumAspect->SetAttribute(Prs3d_DP_ShadingConeLengthPercent, myAxisArrowRate); + Handle(AIS_InteractiveContext) aContext = mySelector->viewer()->getAISContext(); + aContext->Redisplay(aTrihedron, false); + } myWorkshop->displayer()->setSelectionColor(myOldSelectionColor); myProxyViewer->setSelector(0); @@ -571,11 +570,11 @@ SHAPERGUI_OCCSelector* SHAPERGUI::createSelector(SUIT_ViewManager* theMgr) if (theMgr->getType() == OCCViewer_Viewer::Type()) { OCCViewer_Viewer* aViewer = static_cast(theMgr->getViewModel()); - //if (myHighlightPointAspect.IsNull()) { - // Handle(AIS_Trihedron) aTrihedron = aViewer->getTrihedron(); - // myHighlightPointAspect = - // new Graphic3d_AspectMarker3d(aTrihedron->getHighlightPointAspect()->Aspect().operator*()); - //} + // Remember current length of arrow of axis + Handle(AIS_Trihedron) aTrihedron = aViewer->getTrihedron(); + Handle(Prs3d_DatumAspect) aDatumAspect = aTrihedron->Attributes()->DatumAspect(); + myAxisArrowRate = aDatumAspect->Attribute(Prs3d_DP_ShadingConeLengthPercent); + SHAPERGUI_OCCSelector* aSelector = new SHAPERGUI_OCCSelector(aViewer, getApp()->selectionMgr()); #ifdef SALOME_PATCH_FOR_CTRL_WHEEL @@ -595,6 +594,10 @@ SHAPERGUI_OCCSelector* SHAPERGUI::createSelector(SUIT_ViewManager* theMgr) std::vector aColor = Config_PropManager::color("Visualization", "selection_color"); myWorkshop->displayer()->setSelectionColor(aColor); + + // Cause scaling of arrows of axis and dimensions + myWorkshop->module()->onViewTransformed(); + return aSelector; } return 0; diff --git a/src/SHAPERGUI/SHAPERGUI.h b/src/SHAPERGUI/SHAPERGUI.h index 61cbc0339..bf2941d21 100644 --- a/src/SHAPERGUI/SHAPERGUI.h +++ b/src/SHAPERGUI/SHAPERGUI.h @@ -284,6 +284,8 @@ private slots: std::vector myOldSelectionColor; Handle(Graphic3d_AspectMarker3d) myHighlightPointAspect; + + double myAxisArrowRate; }; #endif diff --git a/src/SHAPERGUI/SHAPERGUI_SalomeViewer.cpp b/src/SHAPERGUI/SHAPERGUI_SalomeViewer.cpp index 12776d98c..f9416eb07 100644 --- a/src/SHAPERGUI/SHAPERGUI_SalomeViewer.cpp +++ b/src/SHAPERGUI/SHAPERGUI_SalomeViewer.cpp @@ -32,6 +32,7 @@ #include #include +#include #if OCC_VERSION_HEX < 0x070400 #define SALOME_PATCH_FOR_CTRL_WHEEL @@ -279,11 +280,19 @@ void SHAPERGUI_SalomeViewer::onViewCreated(SUIT_ViewWindow* theView) myWindowScale.insert(aView->getViewPort()->getView(), aView->getViewPort()->getView()->Camera()->Scale()); - emit viewCreated(myView); + QTimer::singleShot(10, this, SLOT(onAfterViewCreated())); + emit viewCreated(myView); +} +//********************************************** +void SHAPERGUI_SalomeViewer::onAfterViewCreated() +{ + // Update trihedron and dimension arrows + emit onViewTransformed(OCCViewer_ViewWindow::ZOOMVIEW); } + //********************************************** void SHAPERGUI_SalomeViewer::onActivated(SUIT_ViewManager* theMgr) { diff --git a/src/SHAPERGUI/SHAPERGUI_SalomeViewer.h b/src/SHAPERGUI/SHAPERGUI_SalomeViewer.h index 97df56cdc..68bd1b729 100644 --- a/src/SHAPERGUI/SHAPERGUI_SalomeViewer.h +++ b/src/SHAPERGUI/SHAPERGUI_SalomeViewer.h @@ -235,6 +235,9 @@ Q_OBJECT /// It is necessary to activate the viewer trihedron in the current selection mode void onViewPortMapped(); + /// Signal called in order to apdate viewer transformed objects + void onAfterViewCreated(); + private: SHAPERGUI_OCCSelector* mySelector; SHAPERGUI_SalomeView* myView; -- 2.30.2