From 5db5c1423062c67f1edab2616b068c2be2683410 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Tue, 19 Mar 2013 08:14:35 +0100 Subject: [PATCH] Added possibility to read out scalar result index having most time steps p4#: 20952 --- .../RigReservoirCellResults.cpp | 21 +++++++++++++------ .../RigReservoirCellResults.h | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.cpp b/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.cpp index 6bb393d684..9ce8805bd8 100644 --- a/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.cpp +++ b/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.cpp @@ -434,17 +434,26 @@ void RigReservoirCellResults::setTimeStepDates(size_t scalarResultIndex, const s //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -size_t RigReservoirCellResults::maxTimeStepCount() const +size_t RigReservoirCellResults::maxTimeStepCount(size_t* scalarResultIndexWithMostTimeSteps) const { size_t maxTsCount = 0; + size_t scalarResultIndexWithMaxTsCount = cvf::UNDEFINED_SIZE_T; - std::vector::const_iterator it; - for (it = m_resultInfos.begin(); it != m_resultInfos.end(); it++) + for (size_t i = 0; i < m_resultInfos.size(); i++) { - maxTsCount = it->m_timeStepDates.size() > maxTsCount ? it->m_timeStepDates.size() : maxTsCount; - } + if (m_resultInfos[i].m_timeStepDates.size() > maxTsCount) + { + maxTsCount = m_resultInfos[i].m_timeStepDates.size(); + scalarResultIndexWithMaxTsCount = i; + } + } - return static_cast(maxTsCount); + if (scalarResultIndexWithMostTimeSteps) + { + *scalarResultIndexWithMostTimeSteps = scalarResultIndexWithMaxTsCount; + } + + return maxTsCount; } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.h b/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.h index 421e9d323f..a169e751e8 100644 --- a/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.h +++ b/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.h @@ -49,7 +49,7 @@ public: // Access meta-information about the results size_t resultCount() const; size_t timeStepCount(size_t scalarResultIndex) const; - size_t maxTimeStepCount() const; + size_t maxTimeStepCount(size_t* scalarResultIndex = NULL) const; QStringList resultNames(RimDefines::ResultCatType type) const; bool isUsingGlobalActiveIndex(size_t scalarResultIndex) const;