Merge pull request #5280 from OPM/improve-formations

Formations : Add const and simplify access
This commit is contained in:
Magne Sjaastad 2020-01-03 12:51:08 +01:00 committed by GitHub
commit 5df7700a75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 67 additions and 62 deletions

View File

@ -139,7 +139,20 @@ void RigFemPartResultsCollection::setActiveFormationNames( RigFormationNames* ac
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RigFormationNames* RigFemPartResultsCollection::activeFormationNames() std::vector<QString> RigFemPartResultsCollection::formationNames() const
{
if ( activeFormationNames() )
{
return activeFormationNames()->formationNames();
}
return {};
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const RigFormationNames* RigFemPartResultsCollection::activeFormationNames() const
{ {
return m_activeFormationNamesData.p(); return m_activeFormationNamesData.p();
} }
@ -2037,7 +2050,7 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateFormationIndices
float inf = std::numeric_limits<float>::infinity(); float inf = std::numeric_limits<float>::infinity();
dstFrameData.resize( valCount, inf ); dstFrameData.resize( valCount, inf );
RigFormationNames* activeFormNames = m_activeFormationNamesData.p(); const RigFormationNames* activeFormNames = m_activeFormationNamesData.p();
frameCountProgress.incrementProgress(); frameCountProgress.incrementProgress();

View File

@ -56,7 +56,7 @@ public:
~RigFemPartResultsCollection() override; ~RigFemPartResultsCollection() override;
void setActiveFormationNames( RigFormationNames* activeFormationNames ); void setActiveFormationNames( RigFormationNames* activeFormationNames );
RigFormationNames* activeFormationNames(); std::vector<QString> formationNames() const;
void addElementPropertyFiles( const std::vector<QString>& filenames ); void addElementPropertyFiles( const std::vector<QString>& filenames );
std::vector<RigFemResultAddress> removeElementPropertyFiles( const std::vector<QString>& filenames ); std::vector<RigFemResultAddress> removeElementPropertyFiles( const std::vector<QString>& filenames );
@ -157,12 +157,14 @@ private:
RigFemScalarResultFrames* calculateGamma( int partIndex, const RigFemResultAddress& resVarAddr ); RigFemScalarResultFrames* calculateGamma( int partIndex, const RigFemResultAddress& resVarAddr );
RigFemScalarResultFrames* calculateFormationIndices( int partIndex, const RigFemResultAddress& resVarAddr ); RigFemScalarResultFrames* calculateFormationIndices( int partIndex, const RigFemResultAddress& resVarAddr );
const RigFormationNames* activeFormationNames() const;
private: private:
cvf::Collection<RigFemPartResults> m_femPartResults; cvf::Collection<RigFemPartResults> m_femPartResults;
cvf::ref<RifGeoMechReaderInterface> m_readerInterface; cvf::ref<RifGeoMechReaderInterface> m_readerInterface;
cvf::ref<RifElementPropertyReader> m_elementPropertyReader; cvf::ref<RifElementPropertyReader> m_elementPropertyReader;
cvf::cref<RigFemPartCollection> m_femParts; cvf::cref<RigFemPartCollection> m_femParts;
cvf::ref<RigFormationNames> m_activeFormationNamesData; cvf::cref<RigFormationNames> m_activeFormationNamesData;
double m_cohesion; double m_cohesion;
double m_frictionAngleRad; double m_frictionAngleRad;

View File

@ -1001,10 +1001,7 @@ void RimGridCrossPlotDataSet::updateLegendRange()
RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>( m_case() ); RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>( m_case() );
if ( eclipseCase ) if ( eclipseCase )
{ {
RigFormationNames* formationNames = eclipseCase->eclipseCaseData()->activeFormationNames(); const std::vector<QString> categoryNames = eclipseCase->eclipseCaseData()->formationNames();
if ( formationNames )
{
const std::vector<QString>& categoryNames = formationNames->formationNames();
if ( !categoryNames.empty() ) if ( !categoryNames.empty() )
{ {
legendConfig()->setNamedCategoriesInverse( categoryNames ); legendConfig()->setNamedCategoriesInverse( categoryNames );
@ -1012,7 +1009,6 @@ void RimGridCrossPlotDataSet::updateLegendRange()
} }
} }
} }
}
else if ( m_grouping() == GROUP_BY_TIME ) else if ( m_grouping() == GROUP_BY_TIME )
{ {
QStringList timeStepNames = m_case->timeStepStrings(); QStringList timeStepNames = m_case->timeStepStrings();

View File

@ -403,15 +403,10 @@ void RimEclipsePropertyFilter::computeResultValueRange()
if ( m_resultDefinition->resultType() == RiaDefines::FORMATION_NAMES ) if ( m_resultDefinition->resultType() == RiaDefines::FORMATION_NAMES )
{ {
CVF_ASSERT( parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData() ); CVF_ASSERT( parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData() );
CVF_ASSERT(
parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData()->activeFormationNames() );
const std::vector<QString>& fnVector = parentContainer() const std::vector<QString> fnVector =
->reservoirView() parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData()->formationNames();
->eclipseCase()
->eclipseCaseData()
->activeFormationNames()
->formationNames();
setCategoryNames( fnVector ); setCategoryNames( fnVector );
} }
else if ( m_resultDefinition->resultVariable() == RiaDefines::completionTypeResultName() ) else if ( m_resultDefinition->resultVariable() == RiaDefines::completionTypeResultName() )

View File

@ -1882,14 +1882,14 @@ void RimEclipseResultDefinition::updateRangesForExplicitLegends( RimRegularLegen
{ {
if ( this->resultType() == RiaDefines::FORMATION_NAMES ) if ( this->resultType() == RiaDefines::FORMATION_NAMES )
{ {
const std::vector<QString>& fnVector = eclipseCaseData->activeFormationNames()->formationNames(); std::vector<QString> fnVector = eclipseCaseData->formationNames();
legendConfigToUpdate->setNamedCategoriesInverse( fnVector ); legendConfigToUpdate->setNamedCategoriesInverse( fnVector );
} }
else if ( this->resultType() == RiaDefines::ALLEN_DIAGRAMS ) else if ( this->resultType() == RiaDefines::ALLEN_DIAGRAMS )
{ {
if ( this->resultVariable() == RiaDefines::formationAllenResultName() ) if ( this->resultVariable() == RiaDefines::formationAllenResultName() )
{ {
const std::vector<QString>& fnVector = eclipseCaseData->activeFormationNames()->formationNames(); const std::vector<QString> fnVector = eclipseCaseData->formationNames();
std::vector<int> fnameIdxes; std::vector<int> fnameIdxes;
for ( int i = static_cast<int>( fnVector.size() ); i > 0; --i ) for ( int i = static_cast<int>( fnVector.size() ); i > 0; --i )
fnameIdxes.push_back( i - 1 ); fnameIdxes.push_back( i - 1 );

View File

@ -1252,7 +1252,7 @@ void RimEclipseView::onUpdateLegends()
} }
else else
{ {
const std::vector<QString>& fnVector = eclipseCase->activeFormationNames()->formationNames(); const std::vector<QString> fnVector = eclipseCase->formationNames();
cellEdgeResult()->legendConfig()->setNamedCategoriesInverse( fnVector ); cellEdgeResult()->legendConfig()->setNamedCategoriesInverse( fnVector );
} }
} }

View File

@ -269,11 +269,7 @@ void RimGeoMechPropertyFilter::computeResultValueRange()
{ {
if ( resultDefinition->hasCategoryResult() ) if ( resultDefinition->hasCategoryResult() )
{ {
std::vector<QString> fnVector; std::vector<QString> fnVector = resultDefinition->ownerCaseData()->femPartResults()->formationNames();
if ( resultDefinition->ownerCaseData()->femPartResults()->activeFormationNames() )
{
fnVector = resultDefinition->ownerCaseData()->femPartResults()->activeFormationNames()->formationNames();
}
setCategoryNames( fnVector ); setCategoryNames( fnVector );
} }
else else

View File

@ -697,11 +697,7 @@ void RimGeoMechResultDefinition::updateLegendTextAndRanges( RimRegularLegendConf
if ( this->hasCategoryResult() ) if ( this->hasCategoryResult() )
{ {
std::vector<QString> fnVector; std::vector<QString> fnVector = gmCase->femPartResults()->formationNames();
if ( gmCase->femPartResults()->activeFormationNames() )
{
fnVector = gmCase->femPartResults()->activeFormationNames()->formationNames();
}
legendConfigToUpdate->setNamedCategoriesInverse( fnVector ); legendConfigToUpdate->setNamedCategoriesInverse( fnVector );
} }

View File

@ -2027,17 +2027,11 @@ std::vector<QString> RimWellLogTrack::formationNamesVector( RimCase* rimCase )
if ( eclipseCase ) if ( eclipseCase )
{ {
if ( eclipseCase->eclipseCaseData()->activeFormationNames() ) return eclipseCase->eclipseCaseData()->formationNames();
{
return eclipseCase->eclipseCaseData()->activeFormationNames()->formationNames();
}
} }
else if ( geoMechCase ) else if ( geoMechCase )
{ {
if ( geoMechCase->geoMechData()->femPartResults()->activeFormationNames() ) return geoMechCase->geoMechData()->femPartResults()->formationNames();
{
return geoMechCase->geoMechData()->femPartResults()->activeFormationNames()->formationNames();
}
} }
return std::vector<QString>(); return std::vector<QString>();

View File

@ -2890,7 +2890,7 @@ void RigCaseCellResultsData::setActiveFormationNames( RigFormationNames* activeF
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RigFormationNames* RigCaseCellResultsData::activeFormationNames() const RigFormationNames* RigCaseCellResultsData::activeFormationNames() const
{ {
return m_activeFormationNamesData.p(); return m_activeFormationNamesData.p();
} }

View File

@ -58,7 +58,7 @@ public:
const RifReaderInterface* readerInterface() const; const RifReaderInterface* readerInterface() const;
void setHdf5Filename( const QString& hdf5SourSimFilename ); void setHdf5Filename( const QString& hdf5SourSimFilename );
void setActiveFormationNames( RigFormationNames* activeFormationNames ); void setActiveFormationNames( RigFormationNames* activeFormationNames );
RigFormationNames* activeFormationNames(); const RigFormationNames* activeFormationNames() const;
RigAllenDiagramData* allenDiagramData(); RigAllenDiagramData* allenDiagramData();
void setMainGrid( RigMainGrid* ownerGrid ); void setMainGrid( RigMainGrid* ownerGrid );
@ -197,7 +197,7 @@ private:
private: private:
cvf::ref<RifReaderInterface> m_readerInterface; cvf::ref<RifReaderInterface> m_readerInterface;
cvf::ref<RigFormationNames> m_activeFormationNamesData; cvf::cref<RigFormationNames> m_activeFormationNamesData;
cvf::ref<RigAllenDiagramData> m_allenDiagramData; cvf::ref<RigAllenDiagramData> m_allenDiagramData;
std::vector<std::vector<std::vector<double>>> std::vector<std::vector<std::vector<double>>>

View File

@ -727,11 +727,24 @@ void RigEclipseCaseData::setActiveFormationNamesAndUpdatePlots( RigFormationName
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RigFormationNames* RigEclipseCaseData::activeFormationNames() const RigFormationNames* RigEclipseCaseData::activeFormationNames() const
{ {
return m_matrixModelResults->activeFormationNames(); return m_matrixModelResults->activeFormationNames();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const std::vector<QString> RigEclipseCaseData::formationNames() const
{
if ( activeFormationNames() )
{
return activeFormationNames()->formationNames();
}
return {};
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -91,7 +91,8 @@ public:
void setActiveFormationNames( RigFormationNames* activeFormationNames ); void setActiveFormationNames( RigFormationNames* activeFormationNames );
void setActiveFormationNamesAndUpdatePlots( RigFormationNames* activeFormationNames ); void setActiveFormationNamesAndUpdatePlots( RigFormationNames* activeFormationNames );
RigFormationNames* activeFormationNames(); const RigFormationNames* activeFormationNames() const;
const std::vector<QString> formationNames() const;
RigAllenDiagramData* allenDiagramData(); RigAllenDiagramData* allenDiagramData();
void setSimWellData( const cvf::Collection<RigSimWellData>& data ); void setSimWellData( const cvf::Collection<RigSimWellData>& data );

View File

@ -47,8 +47,6 @@ RigEclipseCrossPlotResult
RigCaseCellResultsData* resultData = caseData->results( RiaDefines::MATRIX_MODEL ); RigCaseCellResultsData* resultData = caseData->results( RiaDefines::MATRIX_MODEL );
if ( !resultData ) return result; if ( !resultData ) return result;
RigFormationNames* activeFormationNames = resultData->activeFormationNames();
const std::vector<std::vector<double>>* catValuesForAllSteps = nullptr; const std::vector<std::vector<double>>* catValuesForAllSteps = nullptr;
if ( xAddress.isValid() && yAddress.isValid() ) if ( xAddress.isValid() && yAddress.isValid() )
@ -136,6 +134,8 @@ RigEclipseCrossPlotResult
} }
else if ( groupingType == GROUP_BY_FORMATION ) else if ( groupingType == GROUP_BY_FORMATION )
{ {
const RigFormationNames* activeFormationNames = resultData->activeFormationNames();
if ( activeFormationNames ) if ( activeFormationNames )
{ {
int category = 0; int category = 0;

View File

@ -29,7 +29,7 @@ public:
RigFormationNames(); RigFormationNames();
~RigFormationNames() override; ~RigFormationNames() override;
int formationIndexFromKLayerIdx( size_t Kidx ) int formationIndexFromKLayerIdx( size_t Kidx ) const
{ {
if ( Kidx >= m_nameIndexPrKLayer.size() ) return -1; if ( Kidx >= m_nameIndexPrKLayer.size() ) return -1;
return m_nameIndexPrKLayer[Kidx]; return m_nameIndexPrKLayer[Kidx];

View File

@ -490,16 +490,15 @@ QString RiuResultTextBuilder::nncResultText()
eclipseCase->allenDiagramData()->formationIndexCombinationFromCategory( eclipseCase->allenDiagramData()->formationIndexCombinationFromCategory(
( *nncValues )[m_nncIndex] ); ( *nncValues )[m_nncIndex] );
RigFormationNames* fmNames = eclipseCase->activeFormationNames(); std::vector<QString> fmNames = eclipseCase->formationNames();
// clang-format off // clang-format off
if ( fmNames && if ( fmIndexPair.first >= 0 &&
fmIndexPair.first >= 0 &&
fmIndexPair.second >= 0 && fmIndexPair.second >= 0 &&
fmNames->formationNames().size() > fmIndexPair.first && fmNames.size() > fmIndexPair.first &&
fmNames->formationNames().size() > fmIndexPair.second ) fmNames.size() > fmIndexPair.second )
{ {
resultValueText = fmNames->formationNames()[fmIndexPair.first] + " - " + resultValueText = fmNames[fmIndexPair.first] + " - " +
fmNames->formationNames()[fmIndexPair.second]; fmNames[fmIndexPair.second];
} }
// clang-format on // clang-format on
} }