///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2024- Equinor ASA // // ResInsight is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. // // See the GNU General Public License at // for more details. // ///////////////////////////////////////////////////////////////////////////////// #include "RigActiveCellGrid.h" #include "RigActiveCellInfo.h" #include "RigEclipseCaseData.h" //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RigActiveCellGrid::RigActiveCellGrid() : m_totalCellCount( 0 ) , m_totalActiveCellCount( 0 ) { m_invalidCell.setInvalid( true ); m_invalidCell.setHostGrid( this ); m_invalidCell.setSubGrid( nullptr ); for ( size_t i = 0; i < 8; i++ ) { m_invalidCell.cornerIndices()[i] = 0; } } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RigActiveCellGrid::~RigActiveCellGrid() { } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RigCell& RigActiveCellGrid::cell( size_t gridLocalCellIndex ) { if ( auto it = m_nativeCells.find( gridLocalCellIndex ); it != m_nativeCells.end() ) { return it->second; } return m_invalidCell; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- const RigCell& RigActiveCellGrid::cell( size_t gridLocalCellIndex ) const { if ( const auto it = m_nativeCells.find( gridLocalCellIndex ); it != m_nativeCells.end() ) { return it->second; } return m_invalidCell; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- std::map& RigActiveCellGrid::nativeCells() { return m_nativeCells; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- const std::map& RigActiveCellGrid::nativeCells() const { return m_nativeCells; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- size_t RigActiveCellGrid::totalCellCount() const { return m_totalCellCount; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RigActiveCellGrid::setTotalCellCount( size_t totalCellCount ) { m_totalCellCount = totalCellCount; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- size_t RigActiveCellGrid::totalActiveCellCount() const { return m_totalActiveCellCount; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RigActiveCellGrid::setTotalActiveCellCount( size_t totalActiveCellCount ) { m_totalActiveCellCount = totalActiveCellCount; }