mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Selecting a well path in 3d view can now update selected well path in well log plots
This commit is contained in:
parent
05e0817074
commit
6a745671d7
@ -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 );
|
||||
|
@ -1151,17 +1151,39 @@ RifReaderRftInterface* RimWellLogCurveCommonDataSource::rftReader()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogCurveCommonDataSource::selectSimWell( QString wellName )
|
||||
void RimWellLogCurveCommonDataSource::selectWell( QString wellName )
|
||||
{
|
||||
if ( !m_allow3DSelectionLink() ) return;
|
||||
|
||||
auto* eclipseCase = dynamic_cast<RimEclipseCase*>( m_case() );
|
||||
if ( eclipseCase )
|
||||
if ( m_trajectoryType() == RimWellLogExtractionCurve::WELL_PATH )
|
||||
{
|
||||
std::set<QString> sortedWellNames = eclipseCase->sortedSimWellNames();
|
||||
if ( std::count( sortedWellNames.begin(), sortedWellNames.end(), wellName ) > 0 )
|
||||
QList<caf::PdmOptionItemInfo> options;
|
||||
RimTools::wellPathOptionItems( &options );
|
||||
|
||||
for ( auto& opt : options )
|
||||
{
|
||||
m_simWellName.setValueWithFieldChanged( wellName );
|
||||
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 )
|
||||
{
|
||||
std::set<QString> sortedWellNames = eclipseCase->sortedSimWellNames();
|
||||
if ( std::count( sortedWellNames.begin(), sortedWellNames.end(), wellName ) > 0 )
|
||||
{
|
||||
m_simWellName.setValueWithFieldChanged( wellName );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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 );
|
||||
|
@ -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 );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user