mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-09 23:16:00 -06:00
#1087 - pre-proto - Moving enum for unit system to RimDefines, and establishing default unit system for fracture template collection (used when creating new templates).
This commit is contained in:
parent
86bd033fa8
commit
fa638243ab
@ -24,12 +24,15 @@
|
||||
#include "RifEclipseExportTools.h"
|
||||
#include "RifEclipseExportTools.h"
|
||||
|
||||
#include "RimDefines.h"
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimEllipseFractureTemplate.h"
|
||||
#include "RimFracture.h"
|
||||
#include "RimFractureExportSettings.h"
|
||||
#include "RimView.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
|
||||
#include "RiuMainWindow.h"
|
||||
|
||||
#include "cafPdmObjectHandle.h"
|
||||
@ -42,7 +45,6 @@
|
||||
#include <QMessageBox>
|
||||
#include <QString>
|
||||
#include <QFileInfo>
|
||||
#include "RimEllipseFractureTemplate.h"
|
||||
|
||||
CAF_CMD_SOURCE_INIT(RicConvertFractureTemplateUnitFeature, "RicConvertFractureTemplateUnitFeature");
|
||||
|
||||
@ -81,11 +83,11 @@ void RicConvertFractureTemplateUnitFeature::setupActionLook(QAction* actionToSet
|
||||
RimEllipseFractureTemplate* ellipseFractureTemplate = nullptr;
|
||||
objHandle->firstAncestorOrThisOfType(ellipseFractureTemplate);
|
||||
|
||||
if (ellipseFractureTemplate->fractureTemplateUnit == RimEllipseFractureTemplate::UNITS_METRIC)
|
||||
if (ellipseFractureTemplate->fractureTemplateUnit == RimDefines::UNITS_METRIC)
|
||||
{
|
||||
actionToSetup->setText("Change to Field units in fracture template");
|
||||
}
|
||||
else if (ellipseFractureTemplate->fractureTemplateUnit == RimEllipseFractureTemplate::UNITS_FIELD)
|
||||
else if (ellipseFractureTemplate->fractureTemplateUnit == RimDefines::UNITS_FIELD)
|
||||
{
|
||||
actionToSetup->setText("Change to metric units in fracture template");
|
||||
}
|
||||
|
@ -48,13 +48,14 @@ void RicNewEllipseFractureTemplateFeature::onActionTriggered(bool isChecked)
|
||||
if (oilfield == nullptr) return;
|
||||
|
||||
RimFractureTemplateCollection* fracDefColl = oilfield->fractureDefinitionCollection();
|
||||
|
||||
|
||||
if (fracDefColl)
|
||||
{
|
||||
RimEllipseFractureTemplate* fractureDef = new RimEllipseFractureTemplate();
|
||||
fracDefColl->fractureDefinitions.push_back(fractureDef);
|
||||
fractureDef->name = "Ellipse Fracture Template";
|
||||
|
||||
fractureDef->fractureTemplateUnit = fracDefColl->defaultUnitsForFracTemplates();
|
||||
|
||||
fracDefColl->updateConnectedEditors();
|
||||
RiuMainWindow::instance()->selectAsCurrentItem(fractureDef);
|
||||
}
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "RifEclipseExportTools.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RigEclipseCaseData.h"
|
||||
#include "RigFracture.h"
|
||||
#include "RigFracture.h"
|
||||
#include "RigMainGrid.h"
|
||||
@ -149,14 +150,14 @@ bool RifEclipseExportTools::unitsMatchCaseAndFractures(RimEclipseCase* caseToApp
|
||||
{
|
||||
if (fracture->attachedFractureDefinition())
|
||||
{
|
||||
if ((fracture->attachedFractureDefinition()->fractureTemplateUnit) == RimFractureTemplate::UNITS_METRIC)
|
||||
if ((fracture->attachedFractureDefinition()->fractureTemplateUnit) == RimDefines::UNITS_METRIC)
|
||||
{
|
||||
if (!(caseUnit == RigEclipseCaseData::UNITS_METRIC))
|
||||
{
|
||||
unitsMatch = false;
|
||||
}
|
||||
}
|
||||
else if ((fracture->attachedFractureDefinition()->fractureTemplateUnit) == RimFractureTemplate::UNITS_FIELD)
|
||||
else if ((fracture->attachedFractureDefinition()->fractureTemplateUnit) == RimDefines::UNITS_FIELD)
|
||||
{
|
||||
if (!(caseUnit == RigEclipseCaseData::UNITS_FIELD))
|
||||
{
|
||||
|
@ -154,25 +154,10 @@ void RivWellFracturePartMgr::updatePartGeometryTexture(caf::DisplayCoordTransfor
|
||||
|
||||
RimLegendConfig* legend = m_rimFracture->activeLegend();
|
||||
cvf::ScalarMapper* scalarMapper = legend->scalarMapper();
|
||||
// cvf::ref<cvf::ScalarMapperContinuousLinear> scalarMapper = new cvf::ScalarMapperContinuousLinear;
|
||||
// {
|
||||
// cvf::Color3ubArray legendColors;
|
||||
// legendColors.resize(4);
|
||||
// legendColors[0] = cvf::Color3::GRAY;
|
||||
// legendColors[1] = cvf::Color3::GREEN;
|
||||
// legendColors[2] = cvf::Color3::BLUE;
|
||||
// legendColors[3] = cvf::Color3::RED;
|
||||
// scalarMapper->setColors(legendColors);
|
||||
// scalarMapper->setRange(0.0, 4.0);
|
||||
// scalarMapper->setLevelCount(4, true);
|
||||
// }
|
||||
|
||||
//double scalarValue = i % 4;
|
||||
|
||||
cvf::ref<cvf::Vec2fArray> textureCoords = new cvf::Vec2fArray;
|
||||
textureCoords->resize(nodeCoords.size());
|
||||
|
||||
|
||||
int i = 0;
|
||||
for (std::vector<double> depthData : dataToPlot)
|
||||
{
|
||||
@ -180,7 +165,6 @@ void RivWellFracturePartMgr::updatePartGeometryTexture(caf::DisplayCoordTransfor
|
||||
for (double gridXdata : mirroredValuesAtDepth)
|
||||
{
|
||||
cvf::Vec2f texCoord = scalarMapper->mapToTextureCoord(gridXdata);
|
||||
|
||||
textureCoords->set(i, texCoord);
|
||||
i++;
|
||||
}
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
#include "RigTesselatorTools.h"
|
||||
|
||||
#include "RimDefines.h"
|
||||
#include "RimFracture.h"
|
||||
#include "RimFractureTemplate.h"
|
||||
#include "RimProject.h"
|
||||
@ -44,7 +45,7 @@ RimEllipseFractureTemplate::RimEllipseFractureTemplate(void)
|
||||
CAF_PDM_InitField(&width, "Width", 1.0f, "Width", "", "", "");
|
||||
CAF_PDM_InitField(&perforationLength, "PerforationLength", 0.0f, "Lenght of well perforation", "", "", ""); //Is this correct description?
|
||||
|
||||
CAF_PDM_InitField(&permeability,"Permeability", 22000.f, "Permeability", "", "", "");
|
||||
CAF_PDM_InitField(&permeability,"Permeability", 22000.f, "Permeability [mD]", "", "", "");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -154,21 +155,22 @@ std::vector<cvf::Vec3f> RimEllipseFractureTemplate::fracturePolygon()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEllipseFractureTemplate::changeUnits()
|
||||
{
|
||||
if (fractureTemplateUnit == RimEllipseFractureTemplate::UNITS_METRIC)
|
||||
if (fractureTemplateUnit == RimDefines::UNITS_METRIC)
|
||||
{
|
||||
halfLength = convertMtoFeet(halfLength);
|
||||
height = convertMtoFeet(height);
|
||||
width = convertMtoInch(width);
|
||||
fractureTemplateUnit = RimFractureTemplate::UNITS_FIELD;
|
||||
halfLength = RimDefines::meterToFeet(halfLength);
|
||||
height = RimDefines::meterToFeet(height);
|
||||
width = RimDefines::meterToInch(width);
|
||||
perforationLength = RimDefines::meterToFeet(perforationLength);
|
||||
fractureTemplateUnit = RimDefines::UNITS_FIELD;
|
||||
//TODO: Darcy unit?
|
||||
}
|
||||
else if (fractureTemplateUnit == RimEllipseFractureTemplate::UNITS_FIELD)
|
||||
else if (fractureTemplateUnit == RimDefines::UNITS_FIELD)
|
||||
{
|
||||
halfLength = convertFeetToM(halfLength);
|
||||
height = convertFeetToM(height);
|
||||
width = convertInchToM(width);
|
||||
fractureTemplateUnit = RimFractureTemplate::UNITS_METRIC;
|
||||
//TODO: Darcy unit?
|
||||
halfLength = RimDefines::feetToMeter(halfLength);
|
||||
height = RimDefines::feetToMeter(height);
|
||||
width = RimDefines::inchToMeter(width);
|
||||
perforationLength = RimDefines::feetToMeter(perforationLength);
|
||||
fractureTemplateUnit = RimDefines::UNITS_METRIC;
|
||||
}
|
||||
|
||||
this->updateConnectedEditors();
|
||||
@ -181,17 +183,19 @@ void RimEllipseFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pdm
|
||||
{
|
||||
RimFractureTemplate::defineUiOrdering(uiConfigName, uiOrdering);
|
||||
|
||||
if (fractureTemplateUnit == RimFractureTemplate::UNITS_METRIC)
|
||||
if (fractureTemplateUnit == RimDefines::UNITS_METRIC)
|
||||
{
|
||||
halfLength.uiCapability()->setUiName("Halflenght Xf [m]");
|
||||
height.uiCapability()->setUiName("Height [m]");
|
||||
width.uiCapability()->setUiName("Width [m]");
|
||||
perforationLength.uiCapability()->setUiName("Length of well perforation [m]");
|
||||
}
|
||||
else if (fractureTemplateUnit == RimFractureTemplate::UNITS_FIELD)
|
||||
else if (fractureTemplateUnit == RimDefines::UNITS_FIELD)
|
||||
{
|
||||
halfLength.uiCapability()->setUiName("Halflenght Xf [Ft]");
|
||||
height.uiCapability()->setUiName("Height [Ft]");
|
||||
width.uiCapability()->setUiName("Width [inches]");
|
||||
perforationLength.uiCapability()->setUiName("Length of well perforation [Ft]");
|
||||
}
|
||||
|
||||
|
||||
@ -211,41 +215,3 @@ void RimEllipseFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pdm
|
||||
propertyGroup->add(&perforationLength);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
float RimEllipseFractureTemplate::convertMtoFeet(float length)
|
||||
{
|
||||
length = length*(100/(2.54*12));
|
||||
return length;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
float RimEllipseFractureTemplate::convertMtoInch(float length)
|
||||
{
|
||||
length = length*(100 / 2.54);
|
||||
return length;
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
float RimEllipseFractureTemplate::convertInchToM(float length)
|
||||
{
|
||||
length = length*(2.54 / 100);
|
||||
return length;
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
float RimEllipseFractureTemplate::convertFeetToM(float length)
|
||||
{
|
||||
length = (length*12)*(2.54 / 100);
|
||||
return length;
|
||||
|
||||
}
|
@ -59,10 +59,5 @@ public:
|
||||
|
||||
protected:
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
|
||||
private:
|
||||
static float convertMtoFeet(float length);
|
||||
static float convertMtoInch(float length);
|
||||
|
||||
static float convertInchToM(float length);
|
||||
static float convertFeetToM(float length);
|
||||
};
|
||||
|
@ -32,7 +32,6 @@
|
||||
namespace caf
|
||||
{
|
||||
template<>
|
||||
|
||||
void caf::AppEnum< RimFractureTemplate::FracOrientationEnum>::setUp()
|
||||
{
|
||||
addItem(RimFractureTemplate::AZIMUTH, "Az", "Azimuth");
|
||||
@ -43,7 +42,6 @@ namespace caf
|
||||
}
|
||||
|
||||
template<>
|
||||
|
||||
void caf::AppEnum< RimFractureTemplate::FracConductivityEnum>::setUp()
|
||||
{
|
||||
addItem(RimFractureTemplate::INFINITE_CONDUCTIVITY, "InfiniteConductivity", "Infinite conductivity in fracture");
|
||||
@ -53,15 +51,6 @@ namespace caf
|
||||
}
|
||||
|
||||
|
||||
template<>
|
||||
|
||||
void caf::AppEnum< RimFractureTemplate::FracUnitEnum>::setUp()
|
||||
{
|
||||
addItem(RimFractureTemplate::UNITS_METRIC, "MetricUnits", "Metric");
|
||||
addItem(RimFractureTemplate::UNITS_FIELD, "FieldsUnits", "Field units");
|
||||
|
||||
setDefault(RimFractureTemplate::UNITS_METRIC);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -75,7 +64,7 @@ RimFractureTemplate::RimFractureTemplate(void)
|
||||
CAF_PDM_InitObject("Fracture Template", ":/FractureTemplate16x16.png", "", "");
|
||||
|
||||
CAF_PDM_InitField(&name, "UserDescription", QString("Fracture Template"), "Name", "", "", "");
|
||||
CAF_PDM_InitField(&fractureTemplateUnit, "fractureTemplateUnit", caf::AppEnum<FracUnitEnum>(UNITS_METRIC), "Units used in frac template", "", "", "");
|
||||
CAF_PDM_InitField(&fractureTemplateUnit, "fractureTemplateUnit", caf::AppEnum<RimDefines::UnitSystem>(RimDefines::UNITS_METRIC), "Units used in frac template", "", "", "");
|
||||
fractureTemplateUnit.uiCapability()->setUiReadOnly(true);
|
||||
|
||||
|
||||
|
@ -18,6 +18,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "RimDefines.h"
|
||||
|
||||
#include "cafAppEnum.h"
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmFieldHandle.h"
|
||||
@ -28,8 +30,8 @@
|
||||
#include "cvfVector3.h"
|
||||
|
||||
#include <vector>
|
||||
#include "RigEclipseCaseData.h"
|
||||
|
||||
class RigEclipseCaseData;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@ -62,12 +64,7 @@ public:
|
||||
};
|
||||
caf::PdmField< caf::AppEnum< FracConductivityEnum > > fractureConductivity;
|
||||
|
||||
enum FracUnitEnum //TODO: USE enum from RigEclipseCaseData
|
||||
{
|
||||
UNITS_METRIC,
|
||||
UNITS_FIELD,
|
||||
};
|
||||
caf::PdmField< caf::AppEnum< FracUnitEnum > > fractureTemplateUnit;
|
||||
caf::PdmField< caf::AppEnum< RimDefines::UnitSystem > > fractureTemplateUnit;
|
||||
|
||||
virtual caf::PdmFieldHandle* userDescriptionField() override;
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||
|
@ -35,7 +35,9 @@ RimFractureTemplateCollection::RimFractureTemplateCollection(void)
|
||||
CAF_PDM_InitObject("Fracture Templates", ":/FractureTemplate16x16.png", "", "");
|
||||
|
||||
CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&defaultUnitsForFracTemplates, "defaultUnitForFracTemplates", caf::AppEnum<RimDefines::UnitSystem>(RimDefines::UNITS_METRIC), "Default unit system for fracture templates", "", "", "");
|
||||
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&fractureDefinitions, "FractureDefinitions", "", "", "", "");
|
||||
fractureDefinitions.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
|
@ -18,6 +18,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "RimDefines.h"
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmChildArrayField.h"
|
||||
@ -40,6 +42,9 @@ public:
|
||||
|
||||
caf::PdmField<bool> isActive;
|
||||
|
||||
caf::PdmField< caf::AppEnum< RimDefines::UnitSystem > > defaultUnitsForFracTemplates;
|
||||
|
||||
|
||||
void deleteFractureDefinitions();
|
||||
void loadAndUpdateData();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user