mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3283 Editable well path. Set default unit system to match grid
This commit is contained in:
@@ -123,31 +123,10 @@ void RimFractureTemplateCollection::setDefaultUnitSystemBasedOnLoadedCases()
|
||||
{
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
|
||||
std::vector<RimCase*> rimCases;
|
||||
proj->allCases(rimCases);
|
||||
|
||||
RiaEclipseUnitTools::UnitSystem commonUnitSystemForAllCases = RiaEclipseUnitTools::UNITS_UNKNOWN;
|
||||
|
||||
for (const auto& c : rimCases)
|
||||
auto commonUnitSystem = proj->commonUnitSystemForAllCases();
|
||||
if (commonUnitSystem != RiaEclipseUnitTools::UNITS_UNKNOWN)
|
||||
{
|
||||
auto eclipseCase = dynamic_cast<RimEclipseCase*>(c);
|
||||
if (eclipseCase && eclipseCase->eclipseCaseData())
|
||||
{
|
||||
if (commonUnitSystemForAllCases == RiaEclipseUnitTools::UNITS_UNKNOWN)
|
||||
{
|
||||
commonUnitSystemForAllCases = eclipseCase->eclipseCaseData()->unitsType();
|
||||
}
|
||||
else if (commonUnitSystemForAllCases != eclipseCase->eclipseCaseData()->unitsType())
|
||||
{
|
||||
commonUnitSystemForAllCases = RiaEclipseUnitTools::UNITS_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (commonUnitSystemForAllCases != RiaEclipseUnitTools::UNITS_UNKNOWN)
|
||||
{
|
||||
m_defaultUnitsForFracTemplates = commonUnitSystemForAllCases;
|
||||
m_defaultUnitsForFracTemplates = commonUnitSystem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -529,7 +529,7 @@ void RimProject::assignIdToCaseGroup(RimIdenticalGridCaseGroup* caseGroup)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimProject::allCases(std::vector<RimCase*>& cases)
|
||||
void RimProject::allCases(std::vector<RimCase*>& cases) const
|
||||
{
|
||||
for (size_t oilFieldIdx = 0; oilFieldIdx < oilFields().size(); oilFieldIdx++)
|
||||
{
|
||||
@@ -1015,6 +1015,36 @@ std::vector<RimFractureTemplate*> RimProject::allFractureTemplates() const
|
||||
return templates;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiaEclipseUnitTools::UnitSystem RimProject::commonUnitSystemForAllCases() const
|
||||
{
|
||||
std::vector<RimCase*> rimCases;
|
||||
allCases(rimCases);
|
||||
|
||||
RiaEclipseUnitTools::UnitSystem commonUnitSystem = RiaEclipseUnitTools::UNITS_UNKNOWN;
|
||||
|
||||
for (const auto& c : rimCases)
|
||||
{
|
||||
auto eclipseCase = dynamic_cast<RimEclipseCase*>(c);
|
||||
if (eclipseCase && eclipseCase->eclipseCaseData())
|
||||
{
|
||||
if (commonUnitSystem == RiaEclipseUnitTools::UNITS_UNKNOWN)
|
||||
{
|
||||
commonUnitSystem = eclipseCase->eclipseCaseData()->unitsType();
|
||||
}
|
||||
else if (commonUnitSystem != eclipseCase->eclipseCaseData()->unitsType())
|
||||
{
|
||||
commonUnitSystem = RiaEclipseUnitTools::UNITS_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return commonUnitSystem;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "RiaDefines.h"
|
||||
#include "RiaEclipseUnitTools.h"
|
||||
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "cafPdmChildField.h"
|
||||
@@ -105,7 +106,7 @@ public:
|
||||
void assignCaseIdToCase(RimCase* reservoirCase);
|
||||
void assignIdToCaseGroup(RimIdenticalGridCaseGroup* caseGroup);
|
||||
|
||||
void allCases(std::vector<RimCase*>& cases);
|
||||
void allCases(std::vector<RimCase*>& cases) const;
|
||||
|
||||
std::vector<RimSummaryCase*> allSummaryCases() const;
|
||||
std::vector<RimSummaryCaseCollection*> summaryGroups() const;
|
||||
@@ -147,6 +148,8 @@ public:
|
||||
std::vector<RimFractureTemplateCollection*> allFractureTemplateCollections() const;
|
||||
std::vector<RimFractureTemplate*> allFractureTemplates() const;
|
||||
|
||||
RiaEclipseUnitTools::UnitSystem commonUnitSystemForAllCases() const;
|
||||
|
||||
protected:
|
||||
// Overridden methods
|
||||
void initScriptDirectories();
|
||||
|
||||
Reference in New Issue
Block a user