Add toolbar toggle button for showing displacements (#9677)

* Add toolbar toggle button for showing displacements
This commit is contained in:
jonjenssen 2023-01-13 20:21:55 +01:00 committed by GitHub
parent eaf3b970ad
commit 14d4022ada
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 40 additions and 7 deletions

View File

@ -194,6 +194,7 @@
<file>draw_style_meshlines_24x24.png</file>
<file>draw_style_surface_24x24.png</file>
<file>draw_style_surface_w_fault_mesh_24x24.png</file>
<file>draw_style_deformation_24x24.png</file>
<file>DrawStyleLines.svg</file>
<file>DrawStyleMeshLines.svg</file>
<file>DrawStyleSurface.svg</file>
@ -269,8 +270,8 @@
<file>AppendNextCurve.png</file>
<file>AppendPrevCurve.png</file>
<file>CheckOverlay16x16.png</file>
<file>Link3DandPlots.png</file>
<file>info.png</file>
<file>Link3DandPlots.png</file>
<file>info.png</file>
</qresource>
<qresource prefix="/Shader">
<file>fs_CellFace.glsl</file>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -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();
}

View File

@ -110,6 +110,7 @@ public:
double displacementScaleFactor() const;
bool showDisplacements() const;
void setShowDisplacementsAndUpdate( bool show );
protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;

View File

@ -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<RimGeoMechView*>( 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<RimEclipseContourMapView*>( gridView );
RimGeoMechView* geoMechView = dynamic_cast<RimGeoMechView*>( 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 );
}
}
//--------------------------------------------------------------------------------------------------

View File

@ -269,6 +269,7 @@ private:
QAction* m_drawStyleFaultLinesSolidAction;
QAction* m_drawStyleSurfOnlyAction;
QAction* m_showWellCellsAction;
QAction* m_drawStyleDeformationsAction;
QToolBar* m_holoLensToolBar;