#3089 Move text parsing for unit conversion

This commit is contained in:
Magne Sjaastad 2018-08-14 08:01:50 +02:00
parent 45f0f6b485
commit 4c75e2514d
2 changed files with 12 additions and 23 deletions

View File

@ -125,13 +125,13 @@ QString RiaEclipseUnitTools::unitStringPressure(UnitSystem unitSystem)
}
//--------------------------------------------------------------------------------------------------
///
///
//--------------------------------------------------------------------------------------------------
double RiaEclipseUnitTools::convertToMeter(double sourceValue, const QString& unitText)
double RiaEclipseUnitTools::convertToMeter(double sourceValue, const QString& sourceValueUnitText)
{
QString timmed = unitText.trimmed();
QString timmed = sourceValueUnitText.trimmed();
if (timmed.compare("m", Qt::CaseInsensitive) == 0)
if (timmed.compare("m", Qt::CaseInsensitive) == 0 || timmed.compare("md-m", Qt::CaseInsensitive) == 0)
{
return sourceValue;
}
@ -143,7 +143,7 @@ double RiaEclipseUnitTools::convertToMeter(double sourceValue, const QString& un
{
return RiaEclipseUnitTools::inchToMeter(sourceValue);
}
else if (timmed.compare("ft", Qt::CaseInsensitive) == 0)
else if (timmed.compare("ft", Qt::CaseInsensitive) == 0 || timmed.compare("md-ft", Qt::CaseInsensitive) == 0)
{
return RiaEclipseUnitTools::feetToMeter(sourceValue);
}
@ -152,13 +152,13 @@ double RiaEclipseUnitTools::convertToMeter(double sourceValue, const QString& un
}
//--------------------------------------------------------------------------------------------------
///
///
//--------------------------------------------------------------------------------------------------
double RiaEclipseUnitTools::convertToFeet(double sourceValue, const QString& unitText)
double RiaEclipseUnitTools::convertToFeet(double sourceValue, const QString& sourceValueUnitText)
{
QString timmed = unitText.trimmed();
QString timmed = sourceValueUnitText.trimmed();
if (timmed.compare("ft", Qt::CaseInsensitive) == 0)
if (timmed.compare("ft", Qt::CaseInsensitive) == 0 || timmed.compare("md-ft", Qt::CaseInsensitive) == 0)
{
return sourceValue;
}
@ -171,11 +171,10 @@ double RiaEclipseUnitTools::convertToFeet(double sourceValue, const QString& uni
double meter = sourceValue / 100.0;
return RiaEclipseUnitTools::meterToFeet(meter);
}
else if (timmed.compare("m", Qt::CaseInsensitive) == 0)
else if (timmed.compare("m", Qt::CaseInsensitive) == 0 || timmed.compare("md-m", Qt::CaseInsensitive) == 0)
{
return RiaEclipseUnitTools::meterToFeet(sourceValue);
}
return HUGE_VAL;
}

View File

@ -311,27 +311,17 @@ std::vector<std::vector<double>>
// The conductivity value is used in the computations of transmissibility when exporting COMPDAT, and has unit md-m or md-ft
// This unit must match the unit used to represent coordinates of the grid used for export
QString conversionUnitText;
if (conductivityUnitTextOnFile == "md-m")
{
conversionUnitText = "m";
}
else if (conductivityUnitTextOnFile == "md-ft")
{
conversionUnitText = "ft";
}
for (auto& yValues : conductivityValues)
{
for (auto& xVal : yValues)
{
if (requiredUnitSet == RiaEclipseUnitTools::UNITS_FIELD)
{
xVal = RiaEclipseUnitTools::convertToFeet(xVal, conversionUnitText);
xVal = RiaEclipseUnitTools::convertToFeet(xVal, conductivityUnitTextOnFile);
}
else if (requiredUnitSet == RiaEclipseUnitTools::UNITS_METRIC)
{
xVal = RiaEclipseUnitTools::convertToMeter(xVal, conversionUnitText);
xVal = RiaEclipseUnitTools::convertToMeter(xVal, conductivityUnitTextOnFile);
}
}
}