From 14d4022ada59aa6903e54a2bccca26d0d4907509 Mon Sep 17 00:00:00 2001 From: jonjenssen <69144954+jonjenssen@users.noreply.github.com> Date: Fri, 13 Jan 2023 20:21:55 +0100 Subject: [PATCH] Add toolbar toggle button for showing displacements (#9677) * Add toolbar toggle button for showing displacements --- ApplicationExeCode/Resources/ResInsight.qrc | 5 +-- .../draw_style_deformation_24x24.png | Bin 0 -> 1195 bytes .../GeoMech/RimGeoMechView.cpp | 10 +++++- .../ProjectDataModel/GeoMech/RimGeoMechView.h | 1 + .../UserInterface/RiuMainWindow.cpp | 30 +++++++++++++++--- .../UserInterface/RiuMainWindow.h | 1 + 6 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 ApplicationExeCode/Resources/draw_style_deformation_24x24.png diff --git a/ApplicationExeCode/Resources/ResInsight.qrc b/ApplicationExeCode/Resources/ResInsight.qrc index 43b65ba1ff..99b385e91f 100644 --- a/ApplicationExeCode/Resources/ResInsight.qrc +++ b/ApplicationExeCode/Resources/ResInsight.qrc @@ -194,6 +194,7 @@ draw_style_meshlines_24x24.png draw_style_surface_24x24.png draw_style_surface_w_fault_mesh_24x24.png + draw_style_deformation_24x24.png DrawStyleLines.svg DrawStyleMeshLines.svg DrawStyleSurface.svg @@ -269,8 +270,8 @@ AppendNextCurve.png AppendPrevCurve.png CheckOverlay16x16.png - Link3DandPlots.png - info.png + Link3DandPlots.png + info.png fs_CellFace.glsl diff --git a/ApplicationExeCode/Resources/draw_style_deformation_24x24.png b/ApplicationExeCode/Resources/draw_style_deformation_24x24.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd259413983b0fbd720e858b269f2a9285afcfc GIT binary patch literal 1195 zcmV;c1XTNpP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf6951U69E94oEQKA1VBkdK~zXf-BoR9 zTU8i-a&KnR<)c}ewPpQCHy0Z^?d%5{Tl%qKnG?&XDB4=VAAS}Qm05=})G-DYgn~E_ z9s8qfops7!oiL}Pwm9eLQr1?f%`)1#ifNM8WHjkba(&KCsx>VN{@nBOkj)0VVh7CH}h_75E$x^u_7JM=b(4Yqt6tPU&I8`i`BvL7X{m7uVt z5EjV-t89fuw!kErfSnAkNNX%()e5?Lx_Zy`pL-~##+=2wiuF0AIZ*TpVzC%PQz7_1 z^ue^vgk(I4_-q`hg%qqERxBJ{03N15CHb}{rD^{oL3eNWo5NoZx3V0SszuH5U-To9 zNiiUHU#~@Oc`js$VJTqr&?q7s zB7lVgGvs}m)Y=JdOy7`ZuFgCg4MidAW#kp)!Cq)*zo|IhbsSY4RVcW-0D&t3Odgwr zx5ta9I|`ID_!n}K6!jk?e835=+=rxe4A=UTkjOjG#XV z{W?9&g=S1E)4*;#XS}8ANk=3pJ(T=zeg^NU|;<{>>b{V zd`~_iQUr%94kK6}1d18qCr^?~WC7Vp9wIZ^+26t7#Knn)$*Yry2%}hWolpTBbq<83 zFhaE8EX9lHWM^vSh>^{t5KodTkext0?j8AY1mTPYX##yfOKVEo94-fvx+D@(0^^^KqwI+?C@BRuf4zzM!Fj;VC)>zVWSHDVI!QJa z-Xk;GdTsbO#ENX5S3M~2C`Xj`2Tde!ed5yY!xzGse})MjNe93{CP?w-V#BkLT_W*b zcbRL;w&Y+w&Z{a-Ak7 zHgujQus{>5iRdDbav8RqWFsm1V3b?^6@Eh<#lO=|B@NjL9w=%n(u9O?z!$*vzU$gV zs4s-5PZTK%-J>k;B|5p^JR(wb&9P0dpbEz*-mV3#0r8rdCK?t^aCQq5B=z3^|y z&okGcu3D$^%olS>zP*aunWmIqLIYl*?_cqTVWVOB-{?#7c~YG2%bg~!;$Ha0yoy4$ z^%i_g@h5q|CRVoTeo}~kOAZUif1sW#*v__?V_8mQe778cKLMkLl=jR9B{~2A002ov JPDHLkV1mta9*qD1 literal 0 HcmV?d00001 diff --git a/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechView.cpp b/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechView.cpp index 7b441c5379..f280e98222 100644 --- a/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechView.cpp +++ b/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechView.cpp @@ -1014,7 +1014,6 @@ void RimGeoMechView::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& nameConfig()->uiOrdering( uiConfigName, *nameGroup ); auto displacementGroup = uiOrdering.addNewGroup( "Displacements" ); - displacementGroup->add( &m_showDisplacement ); displacementGroup->add( &m_displacementScaling ); } @@ -1079,3 +1078,12 @@ bool RimGeoMechView::showDisplacements() const { return m_showDisplacement; } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimGeoMechView::setShowDisplacementsAndUpdate( bool show ) +{ + m_showDisplacement = show; + createDisplayModelAndRedraw(); +} diff --git a/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechView.h b/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechView.h index 941ca92b33..0fd8f6b4ba 100644 --- a/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechView.h +++ b/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechView.h @@ -110,6 +110,7 @@ public: double displacementScaleFactor() const; bool showDisplacements() const; + void setShowDisplacementsAndUpdate( bool show ); protected: void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; diff --git a/ApplicationLibCode/UserInterface/RiuMainWindow.cpp b/ApplicationLibCode/UserInterface/RiuMainWindow.cpp index 7edf92da7f..07392e9e88 100644 --- a/ApplicationLibCode/UserInterface/RiuMainWindow.cpp +++ b/ApplicationLibCode/UserInterface/RiuMainWindow.cpp @@ -387,18 +387,19 @@ void RiuMainWindow::createActions() m_dsActionGroup = new QActionGroup( this ); m_drawStyleLinesAction = new QAction( QIcon( ":/DrawStyleLines.svg" ), "&Mesh Only", this ); - // connect(m_drawStyleLinesAction, SIGNAL(triggered()), SLOT(slotDrawStyleLines())); m_dsActionGroup->addAction( m_drawStyleLinesAction ); m_drawStyleLinesSolidAction = new QAction( QIcon( ":/DrawStyleMeshLines.svg" ), "Mesh And Surfaces", this ); - // connect(m_drawStyleLinesSolidAction, SIGNAL(triggered()), SLOT(slotDrawStyleLinesSolid())); m_dsActionGroup->addAction( m_drawStyleLinesSolidAction ); m_drawStyleSurfOnlyAction = new QAction( QIcon( ":/DrawStyleSurface.svg" ), "&Surface Only", this ); - new QAction( QIcon( ":/draw_style_surface_w_fault_mesh_24x24.png" ), "Fault Mesh And Surfaces", this ); - // connect(m_drawStyleSurfOnlyAction, SIGNAL(triggered()), SLOT(slotDrawStyleSurfOnly())); m_dsActionGroup->addAction( m_drawStyleSurfOnlyAction ); + m_drawStyleDeformationsAction = + new QAction( QIcon( ":/draw_style_deformation_24x24.png" ), "Show &Displacements", this ); + m_drawStyleDeformationsAction->setCheckable( true ); + m_dsActionGroup->addAction( m_drawStyleDeformationsAction ); + connect( m_dsActionGroup, SIGNAL( triggered( QAction* ) ), SLOT( slotDrawStyleChanged( QAction* ) ) ); m_drawStyleFaultLinesSolidAction = @@ -688,6 +689,7 @@ void RiuMainWindow::createToolBars() dsToolBar->addAction( m_drawStyleHideGridCellsAction ); dsToolBar->addAction( m_toggleFaultsLabelAction ); dsToolBar->addAction( m_showWellCellsAction ); + dsToolBar->addAction( m_drawStyleDeformationsAction ); } { @@ -1556,6 +1558,17 @@ void RiuMainWindow::slotDrawStyleChanged( QAction* activatedAction ) { RiaApplication::instance()->activeReservoirView()->setFaultMeshSurfDrawstyle(); } + else if ( activatedAction == m_drawStyleDeformationsAction ) + { + RimGeoMechView* geoMechView = dynamic_cast( RiaApplication::instance()->activeReservoirView() ); + if ( geoMechView ) + { + geoMechView->setShowDisplacementsAndUpdate( !geoMechView->showDisplacements() ); + m_drawStyleDeformationsAction->blockSignals( true ); + m_drawStyleDeformationsAction->setChecked( geoMechView->showDisplacements() ); + m_drawStyleDeformationsAction->blockSignals( false ); + } + } } //-------------------------------------------------------------------------------------------------- @@ -1600,6 +1613,7 @@ void RiuMainWindow::refreshDrawStyleActions() { RimGridView* gridView = RiaApplication::instance()->activeGridView(); RimEclipseContourMapView* view2d = dynamic_cast( gridView ); + RimGeoMechView* geoMechView = dynamic_cast( gridView ); bool is2dMap = view2d != nullptr; bool is3dGridView = gridView != nullptr && !is2dMap; @@ -1610,6 +1624,7 @@ void RiuMainWindow::refreshDrawStyleActions() m_drawStyleLinesSolidAction->setEnabled( is3dView ); m_drawStyleSurfOnlyAction->setEnabled( is3dView ); m_drawStyleFaultLinesSolidAction->setEnabled( is3dView ); + m_drawStyleDeformationsAction->setVisible( geoMechView != nullptr ); m_enableLightingAction->setEnabled( is3dView ); bool lightingEnabled = view ? !view->isLightingDisabled() : true; @@ -1665,6 +1680,13 @@ void RiuMainWindow::refreshDrawStyleActions() m_toggleFaultsLabelAction->setChecked( eclView->faultCollection()->showFaultLabel() ); m_toggleFaultsLabelAction->blockSignals( false ); } + + if ( geoMechView ) + { + m_drawStyleDeformationsAction->blockSignals( true ); + m_drawStyleDeformationsAction->setChecked( geoMechView->showDisplacements() ); + m_drawStyleDeformationsAction->blockSignals( false ); + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/UserInterface/RiuMainWindow.h b/ApplicationLibCode/UserInterface/RiuMainWindow.h index 91a7040719..fcee8bf001 100644 --- a/ApplicationLibCode/UserInterface/RiuMainWindow.h +++ b/ApplicationLibCode/UserInterface/RiuMainWindow.h @@ -269,6 +269,7 @@ private: QAction* m_drawStyleFaultLinesSolidAction; QAction* m_drawStyleSurfOnlyAction; QAction* m_showWellCellsAction; + QAction* m_drawStyleDeformationsAction; QToolBar* m_holoLensToolBar;