#6834 Stimplan Model Plot: add source selector for eclipse case and time step

This commit is contained in:
Kristian Bendiksen 2020-10-28 13:38:59 +01:00
parent 3b899d4fdb
commit 182b7f546c
4 changed files with 67 additions and 1 deletions

View File

@ -1357,6 +1357,18 @@ void RimFractureModel::setMD( double md )
updateBarrierProperties();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureModel::setEclipseCaseAndTimeStep( RimEclipseCase* eclipseCase, int timeStep )
{
setEclipseCase( eclipseCase );
setTimeStep( timeStep );
updateThicknessDirection();
updateBarrierProperties();
updateViewsAndPlots();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -89,6 +89,8 @@ public:
RimEclipseCase* eclipseCase() const;
void setEclipseCase( RimEclipseCase* eclipseCase );
void setEclipseCaseAndTimeStep( RimEclipseCase* eclipseCase, int timeStep );
cvf::Vec3d anchorPosition() const;
cvf::Vec3d thicknessDirection() const;

View File

@ -20,9 +20,11 @@
#include "RiaDefines.h"
#include "RiaFractureModelDefines.h"
#include "RimEclipseCase.h"
#include "RimFractureModel.h"
#include "RimFractureModelCurve.h"
#include "RimFractureModelPropertyCurve.h"
#include "RimTools.h"
#include "RimWellLogTrack.h"
#include "cafPdmBase.h"
@ -44,6 +46,9 @@ RimFractureModelPlot::RimFractureModelPlot()
m_fractureModel.uiCapability()->setUiTreeChildrenHidden( true );
m_fractureModel.uiCapability()->setUiHidden( true );
CAF_PDM_InitScriptableFieldNoDefault( &m_eclipseCase, "EclipseCase", "Case", "", "", "" );
CAF_PDM_InitScriptableField( &m_timeStep, "TimeStep", 0, "Time Step", "", "", "" );
setLegendsVisible( true );
setDeletable( true );
}
@ -54,6 +59,8 @@ RimFractureModelPlot::RimFractureModelPlot()
void RimFractureModelPlot::setFractureModel( RimFractureModel* fractureModel )
{
m_fractureModel = fractureModel;
m_eclipseCase = fractureModel->eclipseCase();
m_timeStep = fractureModel->timeStep();
}
//--------------------------------------------------------------------------------------------------
@ -69,6 +76,9 @@ RimFractureModel* RimFractureModelPlot::fractureModel()
//--------------------------------------------------------------------------------------------------
void RimFractureModelPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
uiOrdering.add( &m_eclipseCase );
uiOrdering.add( &m_timeStep );
caf::PdmUiGroup* depthGroup = uiOrdering.addNewGroup( "Depth Axis" );
RimDepthTrackPlot::uiOrderingForDepthAxis( uiConfigName, *depthGroup );
@ -81,6 +91,42 @@ void RimFractureModelPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrd
uiOrdering.skipRemainingFields( true );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QList<caf::PdmOptionItemInfo>
RimFractureModelPlot::calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly )
{
QList<caf::PdmOptionItemInfo> options;
if ( fieldNeedingOptions == &m_eclipseCase )
{
RimTools::eclipseCaseOptionItems( &options );
}
else if ( fieldNeedingOptions == &m_timeStep )
{
RimTools::timeStepsForCase( m_eclipseCase(), &options );
}
return options;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureModelPlot::fieldChangedByUi( const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue )
{
if ( m_fractureModel )
{
if ( changedField == &m_eclipseCase || changedField == &m_timeStep )
{
m_fractureModel->setEclipseCaseAndTimeStep( m_eclipseCase(), m_timeStep() );
}
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -25,6 +25,7 @@
class RimFractureModel;
class RimWellLogExtractionCurve;
class RimEclipseCase;
class RimFractureModelPlot : public RimDepthTrackPlot
{
@ -39,7 +40,10 @@ public:
protected:
RimWellLogExtractionCurve* findCurveByProperty( RiaDefines::CurveProperty curveProperty ) const;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions,
bool* useOptionsOnly ) override;
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
void onLoadDataAndUpdate() override;
@ -47,4 +51,6 @@ private:
void applyDataSource();
caf::PdmPtrField<RimFractureModel*> m_fractureModel;
caf::PdmPtrField<RimEclipseCase*> m_eclipseCase;
caf::PdmField<int> m_timeStep;
};