Fix update issues related to fracture calculations

* Make sure property filter is updated when completion type is cleared
* Clear geometry cache in views to make sure geometry is recreated
* Calculate required input parameters to completion type calculations
* Recompute values when depth changes
This commit is contained in:
Magne Sjaastad
2022-11-18 12:50:04 +01:00
committed by GitHub
parent e7c864c6d8
commit 6a859e0860
9 changed files with 53 additions and 33 deletions

View File

@@ -92,7 +92,8 @@ void RimEllipseFractureTemplate::fieldChangedByUi( const caf::PdmFieldHandle* ch
RimFractureTemplate::fieldChangedByUi( changedField, oldValue, newValue );
if ( changedField == &m_halfLength || changedField == &m_height || changedField == &m_width ||
changedField == &m_permeability || changedField == &m_scaleApplyButton )
changedField == &m_permeability || changedField == &m_scaleApplyButton ||
changedField == &m_wellPathDepthAtFracture )
{
m_scaleApplyButton = false;
@@ -396,7 +397,8 @@ void RimEllipseFractureTemplate::onLoadDataAndUpdateGeometryHasChanged()
this->firstAncestorOrThisOfType( eclipseCase );
if ( eclipseCase )
{
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews( eclipseCase );
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews(
{ eclipseCase } );
}
else
{

View File

@@ -295,7 +295,7 @@ void RimFracture::fieldChangedByUi( const caf::PdmFieldHandle* changedField, con
if ( eclipseCase )
{
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews(
eclipseCase );
{ eclipseCase } );
}
else
{

View File

@@ -50,6 +50,8 @@ public:
void updateDependentObjects() override;
void removeDependentObjects() override;
RimEclipseCase* destinationEclipseCase() const;
protected:
void onChildrenUpdated( caf::PdmChildArrayFieldHandle* childArray,
std::vector<caf::PdmObjectHandle*>& updatedObjects ) override;
@@ -57,7 +59,6 @@ protected:
RimGridCalculationVariable* createVariable() override;
std::pair<bool, QString> validateVariables();
RimEclipseCase* destinationEclipseCase() const;
std::vector<RimEclipseCase*> inputCases() const;
std::vector<double> getInputVectorForVariable( RimGridCalculationVariable* v,

View File

@@ -1370,7 +1370,7 @@ void RimProject::reloadCompletionTypeResultsForEclipseCase( RimEclipseCase* ecli
views[viewIdx]->scheduleCreateDisplayModelAndRedraw();
}
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews( eclipseCase );
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews( { eclipseCase } );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -1596,7 +1596,8 @@ void RimStimPlanModel::updateViewsAndPlots()
this->firstAncestorOrThisOfType( eclipseCase );
if ( eclipseCase )
{
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews( eclipseCase );
RiaCompletionTypeCalculationScheduler::instance()->scheduleRecalculateCompletionTypeAndRedrawAllViews(
{ eclipseCase } );
}
else
{