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;