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();
}
@ -2037,7 +2050,7 @@ RigFemScalarResultFrames* RigFemPartResultsCollection::calculateFormationIndices
float inf = std::numeric_limits<float>::infinity();
dstFrameData.resize( valCount, inf );
RigFormationNames* activeFormNames = m_activeFormationNamesData.p();
const RigFormationNames* activeFormNames = m_activeFormationNamesData.p();
frameCountProgress.incrementProgress();

View File

@ -55,8 +55,8 @@ public:
const RigFemPartCollection* femPartCollection );
~RigFemPartResultsCollection() override;
void setActiveFormationNames( RigFormationNames* activeFormationNames );
RigFormationNames* activeFormationNames();
void setActiveFormationNames( RigFormationNames* activeFormationNames );
std::vector<QString> formationNames() const;
void addElementPropertyFiles( 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* calculateFormationIndices( int partIndex, const RigFemResultAddress& resVarAddr );
const RigFormationNames* activeFormationNames() const;
private:
cvf::Collection<RigFemPartResults> m_femPartResults;
cvf::ref<RifGeoMechReaderInterface> m_readerInterface;
cvf::ref<RifElementPropertyReader> m_elementPropertyReader;
cvf::cref<RigFemPartCollection> m_femParts;
cvf::ref<RigFormationNames> m_activeFormationNamesData;
cvf::cref<RigFormationNames> m_activeFormationNamesData;
double m_cohesion;
double m_frictionAngleRad;

View File

@ -1001,15 +1001,11 @@ void RimGridCrossPlotDataSet::updateLegendRange()
RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>( m_case() );
if ( eclipseCase )
{
RigFormationNames* formationNames = eclipseCase->eclipseCaseData()->activeFormationNames();
if ( formationNames )
const std::vector<QString> categoryNames = eclipseCase->eclipseCaseData()->formationNames();
if ( !categoryNames.empty() )
{
const std::vector<QString>& 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 );
}
}
}

View File

@ -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<QString>& fnVector = parentContainer()
->reservoirView()
->eclipseCase()
->eclipseCaseData()
->activeFormationNames()
->formationNames();
const std::vector<QString> fnVector =
parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData()->formationNames();
setCategoryNames( fnVector );
}
else if ( m_resultDefinition->resultVariable() == RiaDefines::completionTypeResultName() )

View File

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

View File

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

View File

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

View File

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

View File

@ -2027,17 +2027,11 @@ std::vector<QString> 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<QString>();

View File

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

View File

@ -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<RifReaderInterface> m_readerInterface;
cvf::ref<RigFormationNames> m_activeFormationNamesData;
cvf::cref<RigFormationNames> m_activeFormationNamesData;
cvf::ref<RigAllenDiagramData> m_allenDiagramData;
std::vector<std::vector<std::vector<double>>>

View File

@ -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<QString> RigEclipseCaseData::formationNames() const
{
if ( activeFormationNames() )
{
return activeFormationNames()->formationNames();
}
return {};
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RigAllenDiagramData* RigEclipseCaseData::allenDiagramData()
{
return m_matrixModelResults->allenDiagramData();
}

View File

@ -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<QString> formationNames() const;
RigAllenDiagramData* allenDiagramData();
void setSimWellData( const cvf::Collection<RigSimWellData>& data );
const cvf::Collection<RigSimWellData>& wellResults() const

View File

@ -47,8 +47,6 @@ RigEclipseCrossPlotResult
RigCaseCellResultsData* resultData = caseData->results( RiaDefines::MATRIX_MODEL );
if ( !resultData ) return result;
RigFormationNames* activeFormationNames = resultData->activeFormationNames();
const std::vector<std::vector<double>>* 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;

View File

@ -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];

View File

@ -490,16 +490,15 @@ QString RiuResultTextBuilder::nncResultText()
eclipseCase->allenDiagramData()->formationIndexCombinationFromCategory(
( *nncValues )[m_nncIndex] );
RigFormationNames* fmNames = eclipseCase->activeFormationNames();
std::vector<QString> 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
}