Refactor RimSummaryAddressModifier

Use std::variant to wrap curve and ensemble curve set.
Move some code into RimSummaryAddressModifier
This commit is contained in:
Magne Sjaastad
2023-11-01 14:18:40 +01:00
parent 12f24af154
commit 2069ad55cf
6 changed files with 212 additions and 136 deletions

View File

@@ -798,7 +798,7 @@ void RimSummaryMultiPlot::setDefaultRangeAggregationSteppingDimension()
for ( auto p : summaryPlots() )
{
auto addresses = RimSummaryAddressModifier::createEclipseSummaryAddress( p );
auto addresses = RimSummaryAddressModifier::allSummaryAddressesY( p );
analyzer.appendAddresses( addresses );
}
@@ -1267,7 +1267,7 @@ void RimSummaryMultiPlot::analyzePlotsAndAdjustAppearanceSettings()
for ( auto p : summaryPlots() )
{
auto addresses = RimSummaryAddressModifier::createEclipseSummaryAddress( p );
auto addresses = RimSummaryAddressModifier::allSummaryAddressesY( p );
analyzer.appendAddresses( addresses );
}
@@ -1549,12 +1549,17 @@ void RimSummaryMultiPlot::appendSubPlotByStepping( int direction )
}
else
{
auto mods = RimSummaryAddressModifier::createAddressModifiersForPlot( newPlot );
for ( auto& mod : mods )
std::vector<RiaSummaryCurveAddress> newCurveAdrs;
auto curveAddressProviders = RimSummaryAddressModifier::createAddressProviders( newPlot );
for ( const auto& adr : RimSummaryAddressModifier::curveAddresses( curveAddressProviders ) )
{
auto modifiedAdr = m_sourceStepping()->stepAddress( mod.address(), direction );
mod.setAddress( modifiedAdr );
const auto adrX = m_sourceStepping()->stepAddress( adr.summaryAddressX(), direction );
const auto adrY = m_sourceStepping()->stepAddress( adr.summaryAddressY(), direction );
newCurveAdrs.push_back( RiaSummaryCurveAddress( adrX, adrY ) );
}
RimSummaryAddressModifier::applyAddressesToCurveAddressProviders( curveAddressProviders, newCurveAdrs );
}
}