From 1c4feade7138077d7ecdcc21f9cfbe54e5b67b61 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 3 Jan 2020 11:59:17 +0100 Subject: [PATCH] #5279 Formations GeoMech : Add const and simplify access --- .../RigFemPartResultsCollection.cpp | 17 +++++++++++++++-- .../RigFemPartResultsCollection.h | 8 +++++--- .../RimGeoMechPropertyFilter.cpp | 6 +----- .../RimGeoMechResultDefinition.cpp | 6 +----- .../ProjectDataModel/RimWellLogTrack.cpp | 5 +---- 5 files changed, 23 insertions(+), 19 deletions(-) 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/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 44558acb2a..154cb4ef43 100644 --- a/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellLogTrack.cpp @@ -2031,10 +2031,7 @@ std::vector RimWellLogTrack::formationNamesVector( RimCase* rimCase ) } else if ( geoMechCase ) { - if ( geoMechCase->geoMechData()->femPartResults()->activeFormationNames() ) - { - return geoMechCase->geoMechData()->femPartResults()->activeFormationNames()->formationNames(); - } + return geoMechCase->geoMechData()->femPartResults()->formationNames(); } return std::vector();