mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6234 Add signals to propagate changes from template to fracture model.
This commit is contained in:
parent
e59bd10722
commit
46a47eb8d5
@ -252,6 +252,17 @@ bool RimFractureModel::useDetailedFluidLoss() const
|
||||
return m_useDetailedFluidLoss();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureModel::initAfterRead()
|
||||
{
|
||||
if ( m_fractureModelTemplate )
|
||||
{
|
||||
m_fractureModelTemplate->changed.connect( this, &RimFractureModel::fractureModelTemplateChanged );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -312,23 +323,12 @@ void RimFractureModel::fieldChangedByUi( const caf::PdmFieldHandle* changedField
|
||||
}
|
||||
}
|
||||
|
||||
if ( changedField == &m_fractureModelTemplate )
|
||||
{
|
||||
RimEclipseCase* eclipseCase = nullptr;
|
||||
this->firstAncestorOrThisOfType( eclipseCase );
|
||||
if ( eclipseCase )
|
||||
{
|
||||
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews(
|
||||
eclipseCase );
|
||||
}
|
||||
else
|
||||
{
|
||||
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews();
|
||||
}
|
||||
|
||||
RimProject::current()->scheduleCreateDisplayModelAndRedrawAllViews();
|
||||
|
||||
updateReferringPlots();
|
||||
setFractureModelTemplate( m_fractureModelTemplate() );
|
||||
}
|
||||
|
||||
updateViewsAndPlots();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -1312,7 +1312,17 @@ int RimFractureModel::wellPenetrationLayer() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureModel::setFractureModelTemplate( RimFractureModelTemplate* fractureModelTemplate )
|
||||
{
|
||||
if ( m_fractureModelTemplate )
|
||||
{
|
||||
m_fractureModelTemplate->changed.disconnect( this );
|
||||
}
|
||||
|
||||
m_fractureModelTemplate = fractureModelTemplate;
|
||||
|
||||
if ( m_fractureModelTemplate )
|
||||
{
|
||||
m_fractureModelTemplate->changed.connect( this, &RimFractureModel::fractureModelTemplateChanged );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -1322,3 +1332,32 @@ RimFractureModelTemplate* RimFractureModel::fractureModelTemplate() const
|
||||
{
|
||||
return m_fractureModelTemplate;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureModel::fractureModelTemplateChanged( const caf::SignalEmitter* emitter )
|
||||
{
|
||||
updateViewsAndPlots();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureModel::updateViewsAndPlots()
|
||||
{
|
||||
RimEclipseCase* eclipseCase = nullptr;
|
||||
this->firstAncestorOrThisOfType( eclipseCase );
|
||||
if ( eclipseCase )
|
||||
{
|
||||
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews( eclipseCase );
|
||||
}
|
||||
else
|
||||
{
|
||||
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews();
|
||||
}
|
||||
|
||||
RimProject::current()->scheduleCreateDisplayModelAndRedrawAllViews();
|
||||
|
||||
updateReferringPlots();
|
||||
}
|
||||
|
@ -125,8 +125,6 @@ public:
|
||||
|
||||
RimModeledWellPath* thicknessDirectionWellPath() const;
|
||||
void setThicknessDirectionWellPath( RimModeledWellPath* thicknessDirectionWellPath );
|
||||
// void setElasticProperties( RimElasticProperties* elasticProperties );
|
||||
// RimElasticProperties* elasticProperties() const;
|
||||
|
||||
double getDefaultValueForProperty( RiaDefines::CurveProperty ) const;
|
||||
bool hasDefaultValueForProperty( RiaDefines::CurveProperty ) const;
|
||||
@ -150,6 +148,7 @@ protected:
|
||||
void defineEditorAttribute( const caf::PdmFieldHandle* field,
|
||||
QString uiConfigName,
|
||||
caf::PdmUiEditorAttribute* attribute ) override;
|
||||
void initAfterRead() override;
|
||||
|
||||
private:
|
||||
void updatePositionFromMeasuredDepth();
|
||||
@ -179,6 +178,9 @@ private:
|
||||
const cvf::Vec3d& startPosition,
|
||||
const cvf::Vec3d& endPosition );
|
||||
|
||||
void updateViewsAndPlots();
|
||||
void fractureModelTemplateChanged( const caf::SignalEmitter* emitter );
|
||||
|
||||
protected:
|
||||
caf::PdmField<double> m_MD;
|
||||
caf::PdmField<caf::AppEnum<ExtractionType>> m_extractionType;
|
||||
|
@ -73,6 +73,7 @@ CAF_PDM_SOURCE_INIT( RimFractureModelTemplate, "RimFractureModelTemplate" );
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFractureModelTemplate::RimFractureModelTemplate()
|
||||
: changed( this )
|
||||
{
|
||||
CAF_PDM_InitScriptableObject( "FractureModelTemplate", "", "", "" );
|
||||
|
||||
@ -145,23 +146,7 @@ void RimFractureModelTemplate::fieldChangedByUi( const caf::PdmFieldHandle* chan
|
||||
const QVariant& oldValue,
|
||||
const QVariant& newValue )
|
||||
{
|
||||
// {
|
||||
// RimEclipseCase* eclipseCase = nullptr;
|
||||
// this->firstAncestorOrThisOfType( eclipseCase );
|
||||
// if ( eclipseCase )
|
||||
// {
|
||||
// RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews(
|
||||
// eclipseCase );
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews();
|
||||
// }
|
||||
|
||||
// RimProject::current()->scheduleCreateDisplayModelAndRedrawAllViews();
|
||||
|
||||
// updateReferringPlots();
|
||||
// }
|
||||
changed.send();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -274,10 +259,16 @@ RimFaciesProperties* RimFractureModelTemplate::faciesProperties() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureModelTemplate::setFaciesProperties( RimFaciesProperties* faciesProperties )
|
||||
{
|
||||
if ( m_faciesProperties )
|
||||
{
|
||||
m_faciesProperties->changed.disconnect( this );
|
||||
}
|
||||
|
||||
m_faciesProperties = faciesProperties;
|
||||
|
||||
if ( m_faciesProperties )
|
||||
{
|
||||
m_faciesProperties->changed.connect( this, &RimFractureModelTemplate::faciesPropertiesChanged );
|
||||
RimEclipseCase* eclipseCase = getEclipseCase();
|
||||
if ( !eclipseCase ) return;
|
||||
|
||||
@ -299,6 +290,14 @@ void RimFractureModelTemplate::initAfterRead()
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureModelTemplate::faciesPropertiesChanged( const caf::SignalEmitter* emitter )
|
||||
{
|
||||
changed.send();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -46,6 +46,8 @@ public:
|
||||
RimFractureModelTemplate( void );
|
||||
~RimFractureModelTemplate( void ) override;
|
||||
|
||||
caf::Signal<> changed;
|
||||
|
||||
void setId( int id );
|
||||
int id() const;
|
||||
|
||||
@ -91,6 +93,8 @@ protected:
|
||||
static RimEclipseCase* getEclipseCase();
|
||||
static RigEclipseCaseData* getEclipseCaseData();
|
||||
|
||||
void faciesPropertiesChanged( const caf::SignalEmitter* emitter );
|
||||
|
||||
protected:
|
||||
caf::PdmField<int> m_id;
|
||||
caf::PdmField<double> m_defaultPorosity;
|
||||
|
@ -38,6 +38,7 @@ CAF_PDM_SOURCE_INIT( RimFaciesProperties, "FaciesProperties" );
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaciesProperties::RimFaciesProperties()
|
||||
: changed( this )
|
||||
{
|
||||
CAF_PDM_InitScriptableObject( "RimFaciesProperties", "", "", "" );
|
||||
|
||||
@ -148,6 +149,16 @@ void RimFaciesProperties::defineEditorAttribute( const caf::PdmFieldHandle* fiel
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaciesProperties::fieldChangedByUi( const caf::PdmFieldHandle* changedField,
|
||||
const QVariant& oldValue,
|
||||
const QVariant& newValue )
|
||||
{
|
||||
changed.send();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -41,6 +41,8 @@ public:
|
||||
RimFaciesProperties();
|
||||
~RimFaciesProperties() override;
|
||||
|
||||
caf::Signal<> changed;
|
||||
|
||||
QString filePath() const;
|
||||
void setFilePath( const QString& filePath );
|
||||
|
||||
@ -62,6 +64,7 @@ protected:
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering );
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions,
|
||||
bool* useOptionsOnly ) override;
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||
|
||||
private:
|
||||
QString generatePropertiesTable();
|
||||
|
Loading…
Reference in New Issue
Block a user