mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Grid Calculator: refactor summary curve calculator and add grid calculator.
This commit is contained in:
@@ -54,7 +54,7 @@ void RicReplaceSummaryCaseFeature::updateRequredCalculatedCurves( RimSummaryCase
|
||||
{
|
||||
RimSummaryCalculationCollection* calcColl = RimProject::current()->calculationCollection();
|
||||
|
||||
for ( RimSummaryCalculation* summaryCalculation : calcColl->calculations() )
|
||||
for ( RimUserDefinedCalculation* summaryCalculation : calcColl->calculations() )
|
||||
{
|
||||
bool needsUpdate =
|
||||
RicReplaceSummaryCaseFeature::checkIfCalculationNeedsUpdate( summaryCalculation, sourceSummaryCase );
|
||||
@@ -62,7 +62,7 @@ void RicReplaceSummaryCaseFeature::updateRequredCalculatedCurves( RimSummaryCase
|
||||
{
|
||||
summaryCalculation->parseExpression();
|
||||
summaryCalculation->calculate();
|
||||
summaryCalculation->updateDependentCurvesAndPlots();
|
||||
summaryCalculation->updateDependentObjects();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -102,7 +102,7 @@ void RicReplaceSummaryCaseFeature::onActionTriggered( bool isChecked )
|
||||
// Find and update all changed calculations
|
||||
std::set<int> ids;
|
||||
RimSummaryCalculationCollection* calcColl = RimProject::current()->calculationCollection();
|
||||
for ( RimSummaryCalculation* summaryCalculation : calcColl->calculations() )
|
||||
for ( RimUserDefinedCalculation* summaryCalculation : calcColl->calculations() )
|
||||
{
|
||||
bool needsUpdate = checkIfCalculationNeedsUpdate( summaryCalculation, summaryCase );
|
||||
if ( needsUpdate )
|
||||
@@ -126,8 +126,8 @@ void RicReplaceSummaryCaseFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
if ( calcColl )
|
||||
{
|
||||
RimSummaryCalculation* calculation = calcColl->findCalculationById( summaryAddressY.id() );
|
||||
QString description = calculation->description();
|
||||
RimUserDefinedCalculation* calculation = calcColl->findCalculationById( summaryAddressY.id() );
|
||||
QString description = calculation->description();
|
||||
|
||||
RifEclipseSummaryAddress updatedAdr =
|
||||
RifEclipseSummaryAddress::calculatedAddress( description.toStdString(), calculation->id() );
|
||||
@@ -154,8 +154,8 @@ void RicReplaceSummaryCaseFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
if ( calcColl )
|
||||
{
|
||||
RimSummaryCalculation* calculation = calcColl->findCalculationById( summaryAddressX.id() );
|
||||
QString description = calculation->description();
|
||||
RimUserDefinedCalculation* calculation = calcColl->findCalculationById( summaryAddressX.id() );
|
||||
QString description = calculation->description();
|
||||
|
||||
RifEclipseSummaryAddress updatedAdr =
|
||||
RifEclipseSummaryAddress::calculatedAddress( description.toStdString(), calculation->id() );
|
||||
@@ -170,8 +170,8 @@ void RicReplaceSummaryCaseFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
if ( calcColl )
|
||||
{
|
||||
RimSummaryCalculation* calculation = calcColl->findCalculationById( summaryAddressX.id() );
|
||||
QString description = calculation->description();
|
||||
RimUserDefinedCalculation* calculation = calcColl->findCalculationById( summaryAddressX.id() );
|
||||
QString description = calculation->description();
|
||||
|
||||
RifEclipseSummaryAddress updatedAdr =
|
||||
RifEclipseSummaryAddress::calculatedAddress( description.toStdString(), calculation->id() );
|
||||
@@ -197,13 +197,14 @@ void RicReplaceSummaryCaseFeature::setupActionLook( QAction* actionToSetup )
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicReplaceSummaryCaseFeature::checkIfCalculationNeedsUpdate( const RimSummaryCalculation* summaryCalculation,
|
||||
const RimSummaryCase* summaryCase )
|
||||
bool RicReplaceSummaryCaseFeature::checkIfCalculationNeedsUpdate( const RimUserDefinedCalculation* summaryCalculation,
|
||||
const RimSummaryCase* summaryCase )
|
||||
{
|
||||
std::vector<RimSummaryCalculationVariable*> variables = summaryCalculation->allVariables();
|
||||
for ( RimSummaryCalculationVariable* variable : variables )
|
||||
std::vector<RimUserDefinedCalculationVariable*> variables = summaryCalculation->allVariables();
|
||||
for ( RimUserDefinedCalculationVariable* variable : variables )
|
||||
{
|
||||
if ( variable->summaryCase() == summaryCase )
|
||||
RimSummaryCalculationVariable* summaryVariable = dynamic_cast<RimSummaryCalculationVariable*>( variable );
|
||||
if ( summaryVariable->summaryCase() == summaryCase )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user