diff --git a/ApplicationLibCode/ReservoirDataModel/RigActiveCellInfo.cpp b/ApplicationLibCode/ReservoirDataModel/RigActiveCellInfo.cpp index 3ffae1ccea..2ecf32f6c7 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigActiveCellInfo.cpp +++ b/ApplicationLibCode/ReservoirDataModel/RigActiveCellInfo.cpp @@ -81,6 +81,14 @@ void RigActiveCellInfo::setCellResultIndex( size_t reservoirCellIndex, size_t re m_cellIndexToResultIndex[reservoirCellIndex] = reservoirCellResultIndex; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RigActiveCellInfo::activeReservoirCellIndices() const +{ + return m_activeCellIndices; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -110,6 +118,14 @@ void RigActiveCellInfo::computeDerivedData() { m_reservoirActiveCellCount += m_perGridActiveCellInfo[i].activeCellCount(); } + + for ( size_t i = 0; i < m_cellIndexToResultIndex.size(); i++ ) + { + if ( m_cellIndexToResultIndex[i] != cvf::UNDEFINED_SIZE_T ) + { + m_activeCellIndices.push_back( i ); + } + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ReservoirDataModel/RigActiveCellInfo.h b/ApplicationLibCode/ReservoirDataModel/RigActiveCellInfo.h index 3489cfc0a1..f016e2c2dd 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigActiveCellInfo.h +++ b/ApplicationLibCode/ReservoirDataModel/RigActiveCellInfo.h @@ -35,9 +35,10 @@ public: size_t reservoirCellCount() const; size_t reservoirActiveCellCount() const; - bool isActive( size_t reservoirCellIndex ) const; - size_t cellResultIndex( size_t reservoirCellIndex ) const; - void setCellResultIndex( size_t reservoirCellIndex, size_t globalResultCellIndex ); + bool isActive( size_t reservoirCellIndex ) const; + size_t cellResultIndex( size_t reservoirCellIndex ) const; + void setCellResultIndex( size_t reservoirCellIndex, size_t globalResultCellIndex ); + std::vector activeReservoirCellIndices() const; void setGridCount( size_t gridCount ); void setGridActiveCellCounts( size_t gridIndex, size_t activeCellCount ); @@ -71,6 +72,7 @@ private: std::vector m_perGridActiveCellInfo; std::vector m_cellIndexToResultIndex; + std::vector m_activeCellIndices; size_t m_reservoirActiveCellCount;