#7365 StimPlanModel: Add optional table for inital and current pressure data.

This commit is contained in:
Kristian Bendiksen
2021-02-15 16:03:22 +01:00
parent e7d7a40251
commit 77d02e67da
15 changed files with 742 additions and 8 deletions

View File

@@ -33,6 +33,7 @@
#include "RimFaciesInitialPressureConfig.h"
#include "RimFaciesProperties.h"
#include "RimNonNetLayers.h"
#include "RimPressureTable.h"
#include "RimProject.h"
#include "RimStimPlanModel.h"
#include "RimStimPlanModelPlot.h"
@@ -167,6 +168,11 @@ RimStimPlanModelTemplate::RimStimPlanModelTemplate()
m_faciesInitialPressureConfigs.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
m_faciesInitialPressureConfigs.uiCapability()->setUiTreeChildrenHidden( true );
CAF_PDM_InitScriptableFieldNoDefault( &m_pressureTable, "PressureTable", "Pressure Table", "", "", "" );
m_pressureTable.uiCapability()->setUiHidden( true );
m_pressureTable.uiCapability()->setUiTreeHidden( true );
setPressureTable( new RimPressureTable );
CAF_PDM_InitScriptableFieldNoDefault( &m_elasticProperties, "ElasticProperties", "Elastic Properties", "", "", "" );
m_elasticProperties.uiCapability()->setUiHidden( true );
m_elasticProperties.uiCapability()->setUiTreeHidden( true );
@@ -297,6 +303,7 @@ void RimStimPlanModelTemplate::defineUiOrdering( QString uiConfigName, caf::PdmU
caf::PdmUiOrdering* faciesInitialPressureGroup = uiOrdering.addNewGroup( "Facies With Initial Pressure" );
faciesInitialPressureGroup->add( &m_faciesInitialPressureConfigs );
uiOrdering.skipRemainingFields( true );
}
@@ -442,6 +449,32 @@ RimNonNetLayers* RimStimPlanModelTemplate::nonNetLayers() const
return m_nonNetLayers;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimStimPlanModelTemplate::setPressureTable( RimPressureTable* pressureTable )
{
if ( m_pressureTable )
{
m_pressureTable->changed.disconnect( this );
}
m_pressureTable = pressureTable;
if ( m_pressureTable )
{
m_pressureTable->changed.connect( this, &RimStimPlanModelTemplate::pressureTableChanged );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimPressureTable* RimStimPlanModelTemplate::pressureTable() const
{
return m_pressureTable;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -490,6 +523,14 @@ void RimStimPlanModelTemplate::nonNetLayersChanged( const caf::SignalEmitter* em
changed.send();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimStimPlanModelTemplate::pressureTableChanged( const caf::SignalEmitter* emitter )
{
changed.send();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -764,3 +805,13 @@ std::map<int, double> RimStimPlanModelTemplate::faciesWithInitialPressure() cons
return valueFractionMap;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimStimPlanModelTemplate::usePressureTableForProperty( RiaDefines::CurveProperty curveProperty ) const
{
if ( !m_pressureTable ) return false;
return m_pressureTable->usePressureTableForProperty( curveProperty );
}