RC3 adjustments

* Update icons for summary and ensemble templates

* Icons for regression and decline

* #10374 LineEditor: Hide the placeholder widget when not used

* #10376 Assign a case ID to delta summary case

* Do not show decline range text in plot
This commit is contained in:
Magne Sjaastad
2023-06-10 16:30:34 +02:00
committed by GitHub
parent d3c33ce169
commit 91762aaeb1
21 changed files with 398 additions and 16 deletions

View File

@@ -54,7 +54,7 @@ void caf::AppEnum<RimSummaryDeclineCurve::DeclineCurveType>::setUp()
//--------------------------------------------------------------------------------------------------
RimSummaryDeclineCurve::RimSummaryDeclineCurve()
{
CAF_PDM_InitObject( "Decline Curve", ":/SummaryCurve16x16.png" );
CAF_PDM_InitObject( "Decline Curve", ":/decline-curve.svg" );
CAF_PDM_InitFieldNoDefault( &m_declineCurveType, "DeclineCurveType", "Type" );
CAF_PDM_InitField( &m_predictionYears, "PredictionYears", 5, "Years" );
@@ -424,6 +424,7 @@ void RimSummaryDeclineCurve::updateTimeAnnotations()
{
m_timeRangeAnnotation = plot->addTimeRangeAnnotation( m_minTimeStep, m_maxTimeStep );
m_timeRangeAnnotation->setColor( color() );
m_timeRangeAnnotation->setName( "" );
}
}

View File

@@ -72,7 +72,7 @@ void caf::AppEnum<RimSummaryRegressionAnalysisCurve::ForecastUnit>::setUp()
//--------------------------------------------------------------------------------------------------
RimSummaryRegressionAnalysisCurve::RimSummaryRegressionAnalysisCurve()
{
CAF_PDM_InitObject( "Regression Analysis Curve", ":/SummaryCurve16x16.png" );
CAF_PDM_InitObject( "Regression Analysis Curve", ":/regression-curve.svg" );
CAF_PDM_InitFieldNoDefault( &m_regressionType, "RegressionType", "Type" );
CAF_PDM_InitField( &m_forecastForward, "ForecastForward", 0, "Forward" );
@@ -192,6 +192,8 @@ std::tuple<std::vector<time_t>, std::vector<double>, QString>
else if ( m_regressionType == RegressionType::POWER_FIT )
{
auto [filteredTimeSteps, filteredValues] = getPositiveValues( timeStepsD, valuesInRange );
if ( filteredTimeSteps.empty() || filteredValues.empty() ) return {};
regression::PowerFitRegression powerFitRegression;
powerFitRegression.fit( filteredTimeSteps, filteredValues );
std::vector<double> predictedValues = powerFitRegression.predict( outputTimeStepsD );
@@ -200,6 +202,8 @@ std::tuple<std::vector<time_t>, std::vector<double>, QString>
else if ( m_regressionType == RegressionType::EXPONENTIAL )
{
auto [filteredTimeSteps, filteredValues] = getPositiveValues( timeStepsD, valuesInRange );
if ( filteredTimeSteps.empty() || filteredValues.empty() ) return {};
regression::ExponentialRegression exponentialRegression;
exponentialRegression.fit( filteredTimeSteps, filteredValues );
std::vector<double> predictedValues = exponentialRegression.predict( outputTimeStepsD );
@@ -208,6 +212,8 @@ std::tuple<std::vector<time_t>, std::vector<double>, QString>
else if ( m_regressionType == RegressionType::LOGARITHMIC )
{
auto [filteredTimeSteps, filteredValues] = getPositiveValues( timeStepsD, valuesInRange );
if ( filteredTimeSteps.empty() || filteredValues.empty() ) return {};
regression::LogarithmicRegression logarithmicRegression;
logarithmicRegression.fit( filteredTimeSteps, filteredValues );
std::vector<double> predictedValues = logarithmicRegression.predict( outputTimeStepsD );