Files
ResInsight/ApplicationLibCode/ProjectDataModel/Summary/CMakeLists_files.cmake
T
Magne Sjaastad 044454b9b1 Auto-assign Y-axis for ensemble curve sets based on unit/vector match
Extends the existing single-curve auto axis assignment (unit and summary vector matching, then alternating left/right) to also cover RimEnsembleCurveSet. Previously ensemble curve sets were always placed on the default left axis, so e.g. FOPT and FOPR ensembles ended up on the same axis despite differing units.

- Add RimEnsembleCurveSet::unitNameY(), looked up from the first available summary case reader in the ensemble.
- Move X and Y axis assignment from RimSummaryPlot to new RimSummaryPlotTools. Y-axis assignment takes a RiaSummaryAddressModifier::CurveAddressProvider, and compares against both curves and curve sets in the plot.
- RimEnsembleCurveSetCollection::addCurveSet gains an autoAssignPlotAxis flag (default true, matching addCurveAndUpdate for single curves).

Also fixes a bug in the summary plot editor where ensemble curve sets manually assigned to different Y-axes collapsed onto the same axis when clicking OK. The PdmPtrField axis reference does not resolve across the cloned preview and target plots. Add RimEnsembleCurveSet::findOrAssignLeftOrRightAxisY() to capture and re-apply the axis explicitly.

Add RimSummaryPlot-Test.cpp with unit tests for axis auto-assignment of curves and ensemble curve sets.

Fixes #14728
2026-09-16 06:28:50 -04:00

64 lines
3.4 KiB
CMake

set(SOURCE_GROUP_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/RimAsciiDataCurve.cpp
${CMAKE_CURRENT_LIST_DIR}/RimFileSummaryCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimGridSummaryCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCaseMainCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryEnsemble.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurve.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurvesData.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurveAppearanceCalculator.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurveAutoName.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotAxisFormatter.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurveCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlot.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotTextProvider.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCrossPlotCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryTimeAxisProperties.cpp
${CMAKE_CURRENT_LIST_DIR}/RimObservedSummaryData.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryObservedDataFile.cpp
${CMAKE_CURRENT_LIST_DIR}/RimObservedEclipseUserData.cpp
${CMAKE_CURRENT_LIST_DIR}/RimCalculatedSummaryCurveReader.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryAddress.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCrossPlot.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotSourceStepping.cpp
${CMAKE_CURRENT_LIST_DIR}/RimCsvUserData.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotNameHelper.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleCurveSetCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleCurveSet.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleCurveSetColorManager.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleCurveFilter.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleCurveFilterCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleStatistics.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleStatisticsCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimDeltaSummaryCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimDeltaSummaryEnsemble.cpp
${CMAKE_CURRENT_LIST_DIR}/RimObjectiveFunction.cpp
${CMAKE_CURRENT_LIST_DIR}/RimObjectiveFunctionTools.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotManager.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryMultiPlot.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryDataSourceStepping.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryNameHelper.cpp
${CMAKE_CURRENT_LIST_DIR}/RimMultipleSummaryPlotNameHelper.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryAddressCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryMultiPlotCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotControls.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleCurveInfoTextProvider.cpp
${CMAKE_CURRENT_LIST_DIR}/RimRftCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimCsvSummaryCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryTable.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryTableCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryTableTools.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryDeclineCurve.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryRegressionAnalysisCurve.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryAddressSelector.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleCrossPlotStatisticsCase.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryEnsembleTools.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCaseUpdateBatch.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotReadOut.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotTools.cpp
)
list(APPEND CODE_SOURCE_FILES ${SOURCE_GROUP_SOURCE_FILES})