From 71755d593c7c3608b3ebafd73cf6a71f2ad5da86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacob=20St=C3=B8ren?= Date: Wed, 25 Mar 2020 16:23:41 +0100 Subject: [PATCH] #5706 Remove confusing none-use of ensemble curve definitions Remove empty summary item address from curvedefanalyser --- .../AnalysisPlots/RimAnalysisPlot.cpp | 88 +++++-------------- .../AnalysisPlots/RimAnalysisPlot.h | 4 +- .../RimAnalysisPlotDataEntry.cpp | 17 +--- .../AnalysisPlots/RimAnalysisPlotDataEntry.h | 10 +-- .../AnalysisPlots/RimPlotDataFilterItem.h | 2 - 5 files changed, 31 insertions(+), 90 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlot.cpp b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlot.cpp index 4cb47c16fa..d6717bd3b2 100644 --- a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlot.cpp +++ b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlot.cpp @@ -59,13 +59,13 @@ public: { for ( const auto& curveDef : curveDefs ) { - if ( curveDef.isEnsembleCurve() ) + CVF_ASSERT( !curveDef.isEnsembleCurve() ); + + m_singleSummaryCases.insert( curveDef.summaryCase() ); + + if ( curveDef.summaryCase()->ensemble() ) { - m_ensembles.insert( curveDef.ensemble() ); - } - else - { - m_singleSummaryCases.insert( curveDef.summaryCase() ); + m_ensembles.insert( curveDef.summaryCase()->ensemble() ); } RifEclipseSummaryAddress address = curveDef.summaryAddress(); @@ -73,12 +73,12 @@ public: m_quantityNames.insert( address.quantityName() ); address.setQuantityName( "" ); - m_summaryItems.insert( address ); + if ( !address.itemUiText().empty() ) m_summaryItems.insert( address ); } } - std::set m_singleSummaryCases; - std::set m_ensembles; + std::set m_singleSummaryCases; // All summary cases used + std::set m_ensembles; // All the ensembles referenced by the summary cases std::set m_summaryItems; // Quantity name set to "", stores only the identifiers std::set m_quantityNames; // Quantity names from the addresses @@ -239,12 +239,6 @@ std::set RimAnalysisPlot::unfilteredAddresses() addresses.insert( caseAddrs.begin(), caseAddrs.end() ); } - for ( RimSummaryCaseCollection* caseColl : analyserOfSelectedCurveDefs->m_ensembles ) - { - std::set ensAddrs = caseColl->ensembleSummaryAddresses(); - addresses.insert( ensAddrs.begin(), ensAddrs.end() ); - } - return addresses; } @@ -259,14 +253,6 @@ std::set RimAnalysisPlot::ensembleParameters() std::set ensembles; - for ( RimSummaryCaseCollection* ensemble : analyserOfSelectedCurveDefs->m_ensembles ) - { - if ( ensemble->isEnsemble() ) - { - ensembles.insert( ensemble ); - } - } - for ( RimSummaryCase* sumCase : analyserOfSelectedCurveDefs->m_singleSummaryCases ) { if ( sumCase->ensemble() ) @@ -462,7 +448,7 @@ void RimAnalysisPlot::fieldChangedByUi( const caf::PdmFieldHandle* changedField, dlg.enableMultiSelect( true ); dlg.enableIndividualEnsembleCaseSelection( true ); - dlg.setCurveSelection( this->curveDefinitionsWithCollapsedEnsembleCurves() ); + dlg.setCurveSelection( this->curveDefinitionsWithoutEnsembleReference() ); dlg.setCaseAndAddress( nullptr, RifEclipseSummaryAddress() ); if ( dlg.exec() == QDialog::Accepted ) @@ -597,7 +583,7 @@ QList RimAnalysisPlot::calculateValueOptions( const caf: if ( !m_analyserOfSelectedCurveDefs ) { m_analyserOfSelectedCurveDefs = std::unique_ptr( - new RimCurveDefinitionAnalyser( this->curveDefinitionsWithCollapsedEnsembleCurves() ) ); + new RimCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) ); } if ( fieldNeedingOptions == &m_addTimestepUiField ) @@ -678,14 +664,6 @@ std::set RimAnalysisPlot::allAvailableTimeSteps() std::set RimAnalysisPlot::timestepDefiningSourceCases() { std::set timeStepDefiningSumCases = m_analyserOfSelectedCurveDefs->m_singleSummaryCases; - for ( RimSummaryCaseCollection* sumCaseColl : m_analyserOfSelectedCurveDefs->m_ensembles ) - { - std::vector sumCases = sumCaseColl->allSummaryCases(); - if ( sumCases.size() ) - { - timeStepDefiningSumCases.insert( sumCases[0] ); - } - } return timeStepDefiningSumCases; } @@ -697,13 +675,6 @@ std::set RimAnalysisPlot::allSourceCases() { std::set allSumCases = m_analyserOfSelectedCurveDefs->m_singleSummaryCases; - for ( RimSummaryCaseCollection* sumCaseColl : m_analyserOfSelectedCurveDefs->m_ensembles ) - { - std::vector sumCases = sumCaseColl->allSummaryCases(); - - allSumCases.insert( sumCases.begin(), sumCases.end() ); - } - return allSumCases; } @@ -731,7 +702,7 @@ void RimAnalysisPlot::onLoadDataAndUpdate() updateMdiWindowVisibility(); m_analyserOfSelectedCurveDefs = std::unique_ptr( - new RimCurveDefinitionAnalyser( this->curveDefinitionsWithCollapsedEnsembleCurves() ) ); + new RimCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) ); if ( m_plotWidget ) { @@ -885,7 +856,7 @@ void RimAnalysisPlot::updateAxes() std::set timeHistoryQuantities; - RimSummaryPlotAxisFormatter calc( valAxisProperties, {}, curveDefinitionsWithCollapsedEnsembleCurves(), {}, {} ); + RimSummaryPlotAxisFormatter calc( valAxisProperties, {}, curveDefinitionsWithoutEnsembleReference(), {}, {} ); calc.applyAxisPropertiesToPlot( m_plotWidget ); } else @@ -1033,7 +1004,7 @@ std::vector RimAnalysisPlot::findTimestepIndices( std::vector //-------------------------------------------------------------------------------------------------- std::vector RimAnalysisPlot::filteredCurveDefs() { - std::vector dataDefinitions = curveDefinitionsWitExpandedEnsembleCurves(); + std::vector dataDefinitions = curveDefinitionsWithEmbeddedEnsembleReference(); // Split out the filter targets @@ -1636,7 +1607,7 @@ RimCurveDefinitionAnalyser* RimAnalysisPlot::getOrCreateSelectedCurveDefAnalyser if ( !m_analyserOfSelectedCurveDefs ) { m_analyserOfSelectedCurveDefs = std::unique_ptr( - new RimCurveDefinitionAnalyser( this->curveDefinitionsWithCollapsedEnsembleCurves() ) ); + new RimCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) ); } return m_analyserOfSelectedCurveDefs.get(); @@ -1645,7 +1616,7 @@ RimCurveDefinitionAnalyser* RimAnalysisPlot::getOrCreateSelectedCurveDefAnalyser //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::vector RimAnalysisPlot::curveDefinitionsWithCollapsedEnsembleCurves() const +std::vector RimAnalysisPlot::curveDefinitionsWithoutEnsembleReference() const { std::vector curveDefs; for ( auto dataEntry : m_analysisPlotDataSelection ) @@ -1659,7 +1630,7 @@ std::vector RimAnalysisPlot::curveDefinitionsWithColl //-------------------------------------------------------------------------------------------------- /// The curve definitions returned contain both the case AND the ensemble from which it has been spawned //-------------------------------------------------------------------------------------------------- -std::vector RimAnalysisPlot::curveDefinitionsWitExpandedEnsembleCurves() +std::vector RimAnalysisPlot::curveDefinitionsWithEmbeddedEnsembleReference() { std::vector barDataDefinitions; @@ -1667,30 +1638,15 @@ std::vector RimAnalysisPlot::curveDefinitionsWitExpan { RiaSummaryCurveDefinition orgBarDataEntry = dataEntry->curveDefinition(); - // Unpack ensemble curves and make one curve definition for each individual curve. - // Store both ensemble and summary case in the definition - - if ( orgBarDataEntry.isEnsembleCurve() ) + if ( orgBarDataEntry.summaryCase() && orgBarDataEntry.summaryCase()->ensemble() ) { - std::vector sumCases = orgBarDataEntry.ensemble()->allSummaryCases(); - for ( auto sumCase : sumCases ) - { - barDataDefinitions.push_back( - RiaSummaryCurveDefinition( sumCase, orgBarDataEntry.summaryAddress(), orgBarDataEntry.ensemble() ) ); - } + barDataDefinitions.push_back( RiaSummaryCurveDefinition( orgBarDataEntry.summaryCase(), + orgBarDataEntry.summaryAddress(), + orgBarDataEntry.summaryCase()->ensemble() ) ); } else { - if ( orgBarDataEntry.summaryCase() && orgBarDataEntry.summaryCase()->ensemble() ) - { - barDataDefinitions.push_back( RiaSummaryCurveDefinition( orgBarDataEntry.summaryCase(), - orgBarDataEntry.summaryAddress(), - orgBarDataEntry.summaryCase()->ensemble() ) ); - } - else - { - barDataDefinitions.push_back( orgBarDataEntry ); - } + barDataDefinitions.push_back( orgBarDataEntry ); } } diff --git a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlot.h b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlot.h index add1ec7f15..3fc7105f6b 100644 --- a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlot.h +++ b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlot.h @@ -152,8 +152,8 @@ private: void updatePlotTitle(); RimCurveDefinitionAnalyser* getOrCreateSelectedCurveDefAnalyser(); - std::vector curveDefinitionsWithCollapsedEnsembleCurves() const; - std::vector curveDefinitionsWitExpandedEnsembleCurves(); + std::vector curveDefinitionsWithoutEnsembleReference() const; + std::vector curveDefinitionsWithEmbeddedEnsembleReference(); std::vector filteredCurveDefs(); void applyFilter( const RimPlotDataFilterItem* filter, std::set* filteredSumCases, diff --git a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlotDataEntry.cpp b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlotDataEntry.cpp index 4522af9c61..884b9f367c 100644 --- a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlotDataEntry.cpp +++ b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlotDataEntry.cpp @@ -39,10 +39,6 @@ RimAnalysisPlotDataEntry::RimAnalysisPlotDataEntry() m_summaryCase.uiCapability()->setUiTreeChildrenHidden( true ); m_summaryCase.uiCapability()->setAutoAddingOptionFromValue( false ); - CAF_PDM_InitFieldNoDefault( &m_ensemble, "Ensemble", "Ensemble", "", "", "" ); - m_summaryCase.uiCapability()->setUiTreeChildrenHidden( true ); - m_summaryCase.uiCapability()->setAutoAddingOptionFromValue( false ); - CAF_PDM_InitFieldNoDefault( &m_summaryAddress, "SummaryAddress", "Summary Address", "", "", "" ); m_summaryAddress.uiCapability()->setUiHidden( true ); m_summaryAddress.uiCapability()->setUiTreeChildrenHidden( true ); @@ -62,7 +58,8 @@ RimAnalysisPlotDataEntry::~RimAnalysisPlotDataEntry() void RimAnalysisPlotDataEntry::setFromCurveDefinition( const RiaSummaryCurveDefinition& curveDef ) { m_summaryAddress->setAddress( curveDef.summaryAddress() ); - m_ensemble = curveDef.ensemble(); + CVF_ASSERT( !curveDef.ensemble() ); // We will not support definitions of ensemble curves. Only single cases that + // might be part of an ensemble m_summaryCase = curveDef.summaryCase(); } @@ -71,7 +68,7 @@ void RimAnalysisPlotDataEntry::setFromCurveDefinition( const RiaSummaryCurveDefi //-------------------------------------------------------------------------------------------------- RiaSummaryCurveDefinition RimAnalysisPlotDataEntry::curveDefinition() const { - return RiaSummaryCurveDefinition( m_summaryCase(), m_summaryAddress->address(), m_ensemble() ); + return RiaSummaryCurveDefinition( m_summaryCase(), m_summaryAddress->address(), nullptr ); } //-------------------------------------------------------------------------------------------------- @@ -82,14 +79,6 @@ RimSummaryCase* RimAnalysisPlotDataEntry::summaryCase() const return m_summaryCase; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimSummaryCaseCollection* RimAnalysisPlotDataEntry::ensemble() const -{ - return m_ensemble; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlotDataEntry.h b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlotDataEntry.h index 92dd31c0cb..639ba9a8a6 100644 --- a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlotDataEntry.h +++ b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimAnalysisPlotDataEntry.h @@ -39,12 +39,10 @@ public: void setFromCurveDefinition( const RiaSummaryCurveDefinition& curveDef ); RiaSummaryCurveDefinition curveDefinition() const; - RimSummaryCase* summaryCase() const; - RimSummaryCaseCollection* ensemble() const; - RifEclipseSummaryAddress summaryAddress() const; + RimSummaryCase* summaryCase() const; + RifEclipseSummaryAddress summaryAddress() const; private: - caf::PdmPtrField m_summaryCase; - caf::PdmPtrField m_ensemble; - caf::PdmChildField m_summaryAddress; + caf::PdmPtrField m_summaryCase; + caf::PdmChildField m_summaryAddress; }; diff --git a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimPlotDataFilterItem.h b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimPlotDataFilterItem.h index 9ad6a33edc..7d18005dc3 100644 --- a/ApplicationCode/ProjectDataModel/AnalysisPlots/RimPlotDataFilterItem.h +++ b/ApplicationCode/ProjectDataModel/AnalysisPlots/RimPlotDataFilterItem.h @@ -85,8 +85,6 @@ public: RANGE }; - std::vector applyFilter( const std::vector& curveDefsToFilter ); - bool isActive() const { return m_isActive(); } FilterTarget filterTarget() const { return m_filterTarget(); }