///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2022 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 "RimEclipseCaseTools.h" #include "RimEclipseResultCase.h" #include "RimEclipseStatisticsCase.h" #include "RimProject.h" //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- std::vector RimEclipseCaseTools::eclipseCases() { if ( RimProject::current() ) { return RimProject::current()->eclipseCases(); } return {}; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- std::vector RimEclipseCaseTools::eclipseResultCases() { std::vector resultCases; auto eclipseCases = RimEclipseCaseTools::eclipseCases(); for ( auto ec : eclipseCases ) { auto resultCase = dynamic_cast( ec ); if ( resultCase != nullptr ) { resultCases.push_back( resultCase ); } } return resultCases; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- std::vector RimEclipseCaseTools::allEclipseGridCases() { // Find all Eclipse cases, including all single grid cases and source cases in a grid case group. Statistics cases are excluded. RimProject* proj = RimProject::current(); if ( proj ) { std::vector eclipseCases; for ( auto c : proj->allGridCases() ) { if ( dynamic_cast( c ) ) continue; if ( auto ec = dynamic_cast( c ) ) { eclipseCases.push_back( ec ); } } return eclipseCases; } return {}; }