diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.cpp b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.cpp index 1feb014e02..5d62d42e5e 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.cpp +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.cpp @@ -139,7 +139,20 @@ void RigFemPartResultsCollection::setActiveFormationNames( RigFormationNames* ac //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RigFormationNames* RigFemPartResultsCollection::activeFormationNames() +std::vector RigFemPartResultsCollection::formationNames() const +{ + if ( activeFormationNames() ) + { + return activeFormationNames()->formationNames(); + } + + return {}; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const RigFormationNames* RigFemPartResultsCollection::activeFormationNames() const { return m_activeFormationNamesData.p(); } @@ -2037,7 +2050,7 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateFormationIndices float inf = std::numeric_limits::infinity(); dstFrameData.resize( valCount, inf ); - RigFormationNames* activeFormNames = m_activeFormationNamesData.p(); + const RigFormationNames* activeFormNames = m_activeFormationNamesData.p(); frameCountProgress.incrementProgress(); diff --git a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.h b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.h index eb068b56d7..7594c957b7 100644 --- a/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.h +++ b/ApplicationCode/GeoMech/GeoMechDataModel/RigFemPartResultsCollection.h @@ -55,8 +55,8 @@ public: const RigFemPartCollection* femPartCollection ); ~RigFemPartResultsCollection() override; - void setActiveFormationNames( RigFormationNames* activeFormationNames ); - RigFormationNames* activeFormationNames(); + void setActiveFormationNames( RigFormationNames* activeFormationNames ); + std::vector formationNames() const; void addElementPropertyFiles( const std::vector& filenames ); std::vector removeElementPropertyFiles( const std::vector& filenames ); @@ -157,12 +157,14 @@ private: RigFemScalarResultFrames* calculateGamma( int partIndex, const RigFemResultAddress& resVarAddr ); RigFemScalarResultFrames* calculateFormationIndices( int partIndex, const RigFemResultAddress& resVarAddr ); + const RigFormationNames* activeFormationNames() const; + private: cvf::Collection m_femPartResults; cvf::ref m_readerInterface; cvf::ref m_elementPropertyReader; cvf::cref m_femParts; - cvf::ref m_activeFormationNamesData; + cvf::cref m_activeFormationNamesData; double m_cohesion; double m_frictionAngleRad; diff --git a/ApplicationCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp b/ApplicationCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp index e5428224d8..e4896e2e4c 100644 --- a/ApplicationCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp +++ b/ApplicationCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp @@ -1001,15 +1001,11 @@ void RimGridCrossPlotDataSet::updateLegendRange() RimEclipseCase* eclipseCase = dynamic_cast( m_case() ); if ( eclipseCase ) { - RigFormationNames* formationNames = eclipseCase->eclipseCaseData()->activeFormationNames(); - if ( formationNames ) + const std::vector categoryNames = eclipseCase->eclipseCaseData()->formationNames(); + if ( !categoryNames.empty() ) { - const std::vector& categoryNames = formationNames->formationNames(); - if ( !categoryNames.empty() ) - { - legendConfig()->setNamedCategoriesInverse( categoryNames ); - legendConfig()->setAutomaticRanges( 0, categoryNames.size() - 1, 0, categoryNames.size() - 1 ); - } + legendConfig()->setNamedCategoriesInverse( categoryNames ); + legendConfig()->setAutomaticRanges( 0, categoryNames.size() - 1, 0, categoryNames.size() - 1 ); } } } diff --git a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.cpp b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.cpp index 534fa64667..a36a1d309f 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipsePropertyFilter.cpp @@ -403,15 +403,10 @@ void RimEclipsePropertyFilter::computeResultValueRange() if ( m_resultDefinition->resultType() == RiaDefines::FORMATION_NAMES ) { CVF_ASSERT( parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData() ); - CVF_ASSERT( - parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData()->activeFormationNames() ); - const std::vector& fnVector = parentContainer() - ->reservoirView() - ->eclipseCase() - ->eclipseCaseData() - ->activeFormationNames() - ->formationNames(); + const std::vector fnVector = + parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData()->formationNames(); + setCategoryNames( fnVector ); } else if ( m_resultDefinition->resultVariable() == RiaDefines::completionTypeResultName() ) diff --git a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp index 4b3cb02b47..4969d09acf 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp @@ -1882,15 +1882,15 @@ void RimEclipseResultDefinition::updateRangesForExplicitLegends( RimRegularLegen { if ( this->resultType() == RiaDefines::FORMATION_NAMES ) { - const std::vector& fnVector = eclipseCaseData->activeFormationNames()->formationNames(); + std::vector fnVector = eclipseCaseData->formationNames(); legendConfigToUpdate->setNamedCategoriesInverse( fnVector ); } else if ( this->resultType() == RiaDefines::ALLEN_DIAGRAMS ) { if ( this->resultVariable() == RiaDefines::formationAllenResultName() ) { - const std::vector& fnVector = eclipseCaseData->activeFormationNames()->formationNames(); - std::vector fnameIdxes; + const std::vector fnVector = eclipseCaseData->formationNames(); + std::vector fnameIdxes; for ( int i = static_cast( fnVector.size() ); i > 0; --i ) fnameIdxes.push_back( i - 1 ); diff --git a/ApplicationCode/ProjectDataModel/RimEclipseView.cpp b/ApplicationCode/ProjectDataModel/RimEclipseView.cpp index 3d986b77d2..c7284bb3b0 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseView.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseView.cpp @@ -1252,7 +1252,7 @@ void RimEclipseView::onUpdateLegends() } else { - const std::vector& fnVector = eclipseCase->activeFormationNames()->formationNames(); + const std::vector fnVector = eclipseCase->formationNames(); cellEdgeResult()->legendConfig()->setNamedCategoriesInverse( fnVector ); } } diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.cpp index b93e795391..1a6c4bd04a 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechPropertyFilter.cpp @@ -269,11 +269,7 @@ void RimGeoMechPropertyFilter::computeResultValueRange() { if ( resultDefinition->hasCategoryResult() ) { - std::vector fnVector; - if ( resultDefinition->ownerCaseData()->femPartResults()->activeFormationNames() ) - { - fnVector = resultDefinition->ownerCaseData()->femPartResults()->activeFormationNames()->formationNames(); - } + std::vector fnVector = resultDefinition->ownerCaseData()->femPartResults()->formationNames(); setCategoryNames( fnVector ); } else diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp index 18465609f3..d1dafb0f27 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp @@ -697,11 +697,7 @@ void RimGeoMechResultDefinition::updateLegendTextAndRanges( RimRegularLegendConf if ( this->hasCategoryResult() ) { - std::vector fnVector; - if ( gmCase->femPartResults()->activeFormationNames() ) - { - fnVector = gmCase->femPartResults()->activeFormationNames()->formationNames(); - } + std::vector fnVector = gmCase->femPartResults()->formationNames(); legendConfigToUpdate->setNamedCategoriesInverse( fnVector ); } diff --git a/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp b/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp index 6cbdfd742a..154cb4ef43 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp @@ -2027,17 +2027,11 @@ std::vector RimWellLogTrack::formationNamesVector( RimCase* rimCase ) if ( eclipseCase ) { - if ( eclipseCase->eclipseCaseData()->activeFormationNames() ) - { - return eclipseCase->eclipseCaseData()->activeFormationNames()->formationNames(); - } + return eclipseCase->eclipseCaseData()->formationNames(); } else if ( geoMechCase ) { - if ( geoMechCase->geoMechData()->femPartResults()->activeFormationNames() ) - { - return geoMechCase->geoMechData()->femPartResults()->activeFormationNames()->formationNames(); - } + return geoMechCase->geoMechData()->femPartResults()->formationNames(); } return std::vector(); diff --git a/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.cpp b/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.cpp index 884b0d1997..bb7c7d02af 100644 --- a/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.cpp +++ b/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.cpp @@ -2890,7 +2890,7 @@ void RigCaseCellResultsData::setActiveFormationNames( RigFormationNames* activeF //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RigFormationNames* RigCaseCellResultsData::activeFormationNames() +const RigFormationNames* RigCaseCellResultsData::activeFormationNames() const { return m_activeFormationNamesData.p(); } diff --git a/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.h b/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.h index e5d1b7c656..f65f8051a9 100644 --- a/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.h +++ b/ApplicationCode/ReservoirDataModel/RigCaseCellResultsData.h @@ -58,7 +58,7 @@ public: const RifReaderInterface* readerInterface() const; void setHdf5Filename( const QString& hdf5SourSimFilename ); void setActiveFormationNames( RigFormationNames* activeFormationNames ); - RigFormationNames* activeFormationNames(); + const RigFormationNames* activeFormationNames() const; RigAllenDiagramData* allenDiagramData(); void setMainGrid( RigMainGrid* ownerGrid ); @@ -197,7 +197,7 @@ private: private: cvf::ref m_readerInterface; - cvf::ref m_activeFormationNamesData; + cvf::cref m_activeFormationNamesData; cvf::ref m_allenDiagramData; std::vector>> diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.cpp b/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.cpp index d2ba7c58b0..545fd831f5 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.cpp +++ b/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.cpp @@ -727,7 +727,7 @@ void RigEclipseCaseData::setActiveFormationNamesAndUpdatePlots( RigFormationName //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RigFormationNames* RigEclipseCaseData::activeFormationNames() +const RigFormationNames* RigEclipseCaseData::activeFormationNames() const { return m_matrixModelResults->activeFormationNames(); } @@ -735,7 +735,20 @@ RigFormationNames* RigEclipseCaseData::activeFormationNames() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RigAllenDiagramData* RigEclipseCaseData::allenDiagramData() +const std::vector RigEclipseCaseData::formationNames() const +{ + if ( activeFormationNames() ) + { + return activeFormationNames()->formationNames(); + } + + return {}; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigAllenDiagramData* RigEclipseCaseData::allenDiagramData() { return m_matrixModelResults->allenDiagramData(); } diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.h b/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.h index 6c448a0607..826c3bc70a 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.h +++ b/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.h @@ -89,10 +89,11 @@ public: bool hasFractureResults() const; - void setActiveFormationNames( RigFormationNames* activeFormationNames ); - void setActiveFormationNamesAndUpdatePlots( RigFormationNames* activeFormationNames ); - RigFormationNames* activeFormationNames(); - RigAllenDiagramData* allenDiagramData(); + void setActiveFormationNames( RigFormationNames* activeFormationNames ); + void setActiveFormationNamesAndUpdatePlots( RigFormationNames* activeFormationNames ); + const RigFormationNames* activeFormationNames() const; + const std::vector formationNames() const; + RigAllenDiagramData* allenDiagramData(); void setSimWellData( const cvf::Collection& data ); const cvf::Collection& wellResults() const diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseCrossPlotDataExtractor.cpp b/ApplicationCode/ReservoirDataModel/RigEclipseCrossPlotDataExtractor.cpp index 48fd526add..20a05e497a 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseCrossPlotDataExtractor.cpp +++ b/ApplicationCode/ReservoirDataModel/RigEclipseCrossPlotDataExtractor.cpp @@ -47,8 +47,6 @@ RigEclipseCrossPlotResult RigCaseCellResultsData* resultData = caseData->results( RiaDefines::MATRIX_MODEL ); if ( !resultData ) return result; - RigFormationNames* activeFormationNames = resultData->activeFormationNames(); - const std::vector>* catValuesForAllSteps = nullptr; if ( xAddress.isValid() && yAddress.isValid() ) @@ -136,6 +134,8 @@ RigEclipseCrossPlotResult } else if ( groupingType == GROUP_BY_FORMATION ) { + const RigFormationNames* activeFormationNames = resultData->activeFormationNames(); + if ( activeFormationNames ) { int category = 0; diff --git a/ApplicationCode/ReservoirDataModel/RigFormationNames.h b/ApplicationCode/ReservoirDataModel/RigFormationNames.h index c2341523e1..a6507fca73 100644 --- a/ApplicationCode/ReservoirDataModel/RigFormationNames.h +++ b/ApplicationCode/ReservoirDataModel/RigFormationNames.h @@ -29,7 +29,7 @@ public: RigFormationNames(); ~RigFormationNames() override; - int formationIndexFromKLayerIdx( size_t Kidx ) + int formationIndexFromKLayerIdx( size_t Kidx ) const { if ( Kidx >= m_nameIndexPrKLayer.size() ) return -1; return m_nameIndexPrKLayer[Kidx]; diff --git a/ApplicationCode/UserInterface/RiuResultTextBuilder.cpp b/ApplicationCode/UserInterface/RiuResultTextBuilder.cpp index c50fa4b0d1..c1fd4f88dd 100644 --- a/ApplicationCode/UserInterface/RiuResultTextBuilder.cpp +++ b/ApplicationCode/UserInterface/RiuResultTextBuilder.cpp @@ -490,16 +490,15 @@ QString RiuResultTextBuilder::nncResultText() eclipseCase->allenDiagramData()->formationIndexCombinationFromCategory( ( *nncValues )[m_nncIndex] ); - RigFormationNames* fmNames = eclipseCase->activeFormationNames(); + std::vector fmNames = eclipseCase->formationNames(); // clang-format off - if ( fmNames && - fmIndexPair.first >= 0 && + if ( fmIndexPair.first >= 0 && fmIndexPair.second >= 0 && - fmNames->formationNames().size() > fmIndexPair.first && - fmNames->formationNames().size() > fmIndexPair.second ) + fmNames.size() > fmIndexPair.first && + fmNames.size() > fmIndexPair.second ) { - resultValueText = fmNames->formationNames()[fmIndexPair.first] + " - " + - fmNames->formationNames()[fmIndexPair.second]; + resultValueText = fmNames[fmIndexPair.first] + " - " + + fmNames[fmIndexPair.second]; } // clang-format on }