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 "RimWellPathValve.h"
|
||||||
|
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
|
#include "RiuPlotMainWindow.h"
|
||||||
|
|
||||||
#include "RivExtrudedCurveIntersectionPartMgr.h"
|
#include "RivExtrudedCurveIntersectionPartMgr.h"
|
||||||
#include "RivObjectSourceInfo.h"
|
#include "RivObjectSourceInfo.h"
|
||||||
@ -231,6 +232,8 @@ bool RicWellPathPickEventHandler::handle3dPickEvent( const Ric3dPickEvent& event
|
|||||||
|
|
||||||
RiuMainWindow::instance()->setResultInfo( wellPathText );
|
RiuMainWindow::instance()->setResultInfo( wellPathText );
|
||||||
|
|
||||||
|
RiuPlotMainWindow::onWellSelected( wellPathSourceInfo->wellPath()->name() );
|
||||||
|
|
||||||
if ( objectToSelect )
|
if ( objectToSelect )
|
||||||
{
|
{
|
||||||
RiuMainWindow::instance()->selectAsCurrentItem( 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;
|
if ( !m_allow3DSelectionLink() ) return;
|
||||||
|
|
||||||
auto* eclipseCase = dynamic_cast<RimEclipseCase*>( m_case() );
|
if ( m_trajectoryType() == RimWellLogExtractionCurve::WELL_PATH )
|
||||||
if ( eclipseCase )
|
|
||||||
{
|
{
|
||||||
std::set<QString> sortedWellNames = eclipseCase->sortedSimWellNames();
|
QList<caf::PdmOptionItemInfo> options;
|
||||||
if ( std::count( sortedWellNames.begin(), sortedWellNames.end(), wellName ) > 0 )
|
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;
|
int timeStepToApply() const;
|
||||||
void setTimeStepToApply( int val );
|
void setTimeStepToApply( int val );
|
||||||
|
|
||||||
void selectSimWell( QString wellName );
|
void selectWell( QString wellName );
|
||||||
|
|
||||||
void resetDefaultOptions();
|
void resetDefaultOptions();
|
||||||
void analyseCurvesAndTracks( const std::vector<RimWellLogCurve*>& curves, const std::vector<RimWellLogTrack*>& tracks );
|
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 )
|
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