Selecting a well path in 3d view can now update selected well path in well log plots

This commit is contained in:
jonjenssen 2022-08-17 00:18:12 +02:00 committed by Magne Sjaastad
parent 05e0817074
commit 6a745671d7
4 changed files with 33 additions and 8 deletions

View File

@ -35,6 +35,7 @@
#include "RimWellPathValve.h"
#include "RiuMainWindow.h"
#include "RiuPlotMainWindow.h"
#include "RivExtrudedCurveIntersectionPartMgr.h"
#include "RivObjectSourceInfo.h"
@ -231,6 +232,8 @@ bool RicWellPathPickEventHandler::handle3dPickEvent( const Ric3dPickEvent& event
RiuMainWindow::instance()->setResultInfo( wellPathText );
RiuPlotMainWindow::onWellSelected( wellPathSourceInfo->wellPath()->name() );
if ( objectToSelect )
{
RiuMainWindow::instance()->selectAsCurrentItem( objectToSelect );

View File

@ -1151,10 +1151,31 @@ RifReaderRftInterface* RimWellLogCurveCommonDataSource::rftReader()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellLogCurveCommonDataSource::selectSimWell( QString wellName )
void RimWellLogCurveCommonDataSource::selectWell( QString wellName )
{
if ( !m_allow3DSelectionLink() ) return;
if ( m_trajectoryType() == RimWellLogExtractionCurve::WELL_PATH )
{
QList<caf::PdmOptionItemInfo> options;
RimTools::wellPathOptionItems( &options );
for ( auto& opt : options )
{
if ( opt.optionUiText() == wellName )
{
QVariant oldPath = m_wellPath.toQVariant();
RimWellPath* wellPath =
RimProject::current()->activeOilField()->wellPathCollection->wellPathByName( wellName );
m_wellPath = wellPath;
m_wellPath.uiCapability()->notifyFieldChanged( oldPath, opt.value() );
break;
}
}
}
else if ( m_trajectoryType() == RimWellLogExtractionCurve::SIMULATION_WELL )
{
auto* eclipseCase = dynamic_cast<RimEclipseCase*>( m_case() );
if ( eclipseCase )
{
@ -1164,4 +1185,5 @@ void RimWellLogCurveCommonDataSource::selectSimWell( QString wellName )
m_simWellName.setValueWithFieldChanged( wellName );
}
}
}
}

View File

@ -81,7 +81,7 @@ public:
int timeStepToApply() const;
void setTimeStepToApply( int val );
void selectSimWell( QString wellName );
void selectWell( QString wellName );
void resetDefaultOptions();
void analyseCurvesAndTracks( const std::vector<RimWellLogCurve*>& curves, const std::vector<RimWellLogTrack*>& tracks );

View File

@ -85,5 +85,5 @@ RimWellLogPlot& RimWellLogPlot::operator=( RimWellLogPlot&& rhs )
//--------------------------------------------------------------------------------------------------
void RimWellLogPlot::selectWell( QString wellName )
{
if ( m_commonDataSourceEnabled ) m_commonDataSource->selectSimWell( wellName );
if ( m_commonDataSourceEnabled ) m_commonDataSource->selectWell( wellName );
}