#7966 Ensemble Well Log: depth equalization and filter by curve set options in well log plot (#8001)

This commit is contained in:
Kristian Bendiksen authored and GitHub committed 2021-09-14 10:44:52 +02:00
1 parent 785ee51099
commit 1df25ed71c
7 files changed
+90 -18

No files matched your search

@@ -20,6 +20,7 @@
#include "RimDepthTrackPlot.h"
#include "RiaGuiApplication.h"
#include "RiaOptionItemFactory.h"
#include "RiaPreferences.h"
#include "RigWellLogCurveData.h"
@@ -28,7 +29,10 @@
#include "RimEclipseCase.h"
#include "RimEclipseCaseCollection.h"
#include "RimEclipseResultCase.h"
#include "RimEnsembleCurveSet.h"
#include "RimEnsembleWellLogCurveSet.h"
#include "RimGeoMechCase.h"
#include "RimMainPlotCollection.h"
#include "RimOilField.h"
#include "RimPlot.h"
#include "RimProject.h"
@@ -118,6 +122,9 @@ RimDepthTrackPlot::RimDepthTrackPlot()
m_nameConfig.uiCapability()->setUiTreeChildrenHidden( true );
m_nameConfig = new RimWellLogPlotNameConfig();
CAF_PDM_InitFieldNoDefault( &m_ensembleCurveSet, "FilterEnsembleCurveSet", "Filter by Ensemble Curve Set", "", "", "" );
CAF_PDM_InitFieldNoDefault( &m_depthEqualization, "DepthEqualization", "Depth Equalization", "", "", "" );
CAF_PDM_InitFieldNoDefault( &m_plots, "Tracks", "", "", "", "" );
m_plots.uiCapability()->setUiHidden( true );
auto reorderability = caf::PdmFieldReorderCapability::addToField( &m_plots );
@@ -830,6 +837,26 @@ void RimDepthTrackPlot::fieldChangedByUi( const caf::PdmFieldHandle* changedFiel
{
performAutoNameUpdate();
}
else if ( changedField == &m_depthEqualization )
{
std::vector<RimEnsembleWellLogCurveSet*> ensembleWellLogCurveSets;
descendantsOfType( ensembleWellLogCurveSets );
for ( auto ensembleWellLogCurveSet : ensembleWellLogCurveSets )
{
ensembleWellLogCurveSet->setDepthEqualization( m_depthEqualization() );
ensembleWellLogCurveSet->loadDataAndUpdate( true );
}
}
else if ( changedField == &m_ensembleCurveSet )
{
std::vector<RimEnsembleWellLogCurveSet*> ensembleWellLogCurveSets;
descendantsOfType( ensembleWellLogCurveSets );
for ( auto ensembleWellLogCurveSet : ensembleWellLogCurveSets )
{
ensembleWellLogCurveSet->setFilterByEnsembleCurveSet( m_ensembleCurveSet() );
ensembleWellLogCurveSet->loadDataAndUpdate( true );
}
}
updateConnectedEditors();
}
@@ -856,6 +883,15 @@ void RimDepthTrackPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderi
plotLayoutGroup->add( &m_axisTitleFontSize );
plotLayoutGroup->add( &m_axisValueFontSize );
std::vector<RimEnsembleWellLogCurveSet*> ensembleWellLogCurveSets;
descendantsOfType( ensembleWellLogCurveSets );
if ( !ensembleWellLogCurveSets.empty() )
{
caf::PdmUiGroup* ensembleWellLogGroup = uiOrdering.addNewGroup( "Ensemble Well Log" );
ensembleWellLogGroup->add( &m_depthEqualization );
ensembleWellLogGroup->add( &m_ensembleCurveSet );
}
uiOrdering.skipRemainingFields( true );
}
@@ -893,6 +929,10 @@ QList<caf::PdmOptionItemInfo> RimDepthTrackPlot::calculateValueOptions( const ca
{
options = caf::FontTools::relativeSizeValueOptions( RiaPreferences::current()->defaultPlotFontSize() );
}
else if ( fieldNeedingOptions == &m_ensembleCurveSet )
{
RiaOptionItemFactory::appendOptionItemsForEnsembleCurveSets( &options );
}
( *useOptionsOnly ) = true;
return options;