mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2581 3D wellLog curves: Add function to set property detaults from view
This commit is contained in:
@@ -53,6 +53,13 @@ void RicAdd3dWellLogCurveFeature::onActionTriggered(bool isChecked)
|
|||||||
RimWellPath* selectedWellPath = RicWellLogTools::selectedWellPath();
|
RimWellPath* selectedWellPath = RicWellLogTools::selectedWellPath();
|
||||||
|
|
||||||
Rim3dWellLogCurve* rim3dWellLogCurve = new Rim3dWellLogCurve();
|
Rim3dWellLogCurve* rim3dWellLogCurve = new Rim3dWellLogCurve();
|
||||||
|
|
||||||
|
Rim3dView* view = RiaApplication::instance()->activeReservoirView();
|
||||||
|
if (view)
|
||||||
|
{
|
||||||
|
rim3dWellLogCurve->setPropertiesFromView(view);
|
||||||
|
}
|
||||||
|
|
||||||
selectedWellPath->add3dWellLogCurve(rim3dWellLogCurve);
|
selectedWellPath->add3dWellLogCurve(rim3dWellLogCurve);
|
||||||
|
|
||||||
RiaApplication::instance()->project()->updateConnectedEditors();
|
RiaApplication::instance()->project()->updateConnectedEditors();
|
||||||
|
@@ -22,7 +22,11 @@
|
|||||||
#include "RimEclipseResultDefinition.h"
|
#include "RimEclipseResultDefinition.h"
|
||||||
#include "RimGeoMechCase.h"
|
#include "RimGeoMechCase.h"
|
||||||
#include "RimGeoMechResultDefinition.h"
|
#include "RimGeoMechResultDefinition.h"
|
||||||
|
#include "RimTools.h"
|
||||||
|
#include "Rim3dView.h"
|
||||||
|
#include "RimEclipseView.h"
|
||||||
|
#include "RimGeoMechView.h"
|
||||||
|
#include "RimEclipseCellColors.h"
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
///
|
///
|
||||||
@@ -70,6 +74,9 @@ Rim3dWellLogCurve::Rim3dWellLogCurve()
|
|||||||
{
|
{
|
||||||
CAF_PDM_InitObject("3d Well Log Curve", "", "", "");
|
CAF_PDM_InitObject("3d Well Log Curve", "", "", "");
|
||||||
|
|
||||||
|
CAF_PDM_InitField(&m_showCurve, "Show3dWellLogCurve", true, "Show 3d Well Log Curve", "", "", "");
|
||||||
|
m_showCurve.uiCapability()->setUiHidden(true);
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_drawPlane, "DrawPlane", "Draw Plane", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_drawPlane, "DrawPlane", "Draw Plane", "", "", "");
|
||||||
CAF_PDM_InitFieldNoDefault(&m_drawStyle, "DrawStyle", "Draw Style", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_drawStyle, "DrawStyle", "Draw Style", "", "", "");
|
||||||
CAF_PDM_InitFieldNoDefault(&m_coloringStyle, "ColoringStyle", "Coloring Style", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_coloringStyle, "ColoringStyle", "Coloring Style", "", "", "");
|
||||||
@@ -90,7 +97,7 @@ Rim3dWellLogCurve::Rim3dWellLogCurve()
|
|||||||
|
|
||||||
CAF_PDM_InitField(&m_timeStep, "CurveTimeStep", 0, "Time Step", "", "", "");
|
CAF_PDM_InitField(&m_timeStep, "CurveTimeStep", 0, "Time Step", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_name, "Name", QString("3d Well Log Curve"), "3d Well Log Curve", "", "", "");
|
CAF_PDM_InitField(&m_name, "Name", QString("3D Well Log Curve"), "3d Well Log Curve", "", "", "");
|
||||||
m_name.uiCapability()->setUiHidden(true);
|
m_name.uiCapability()->setUiHidden(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,6 +110,84 @@ Rim3dWellLogCurve::~Rim3dWellLogCurve()
|
|||||||
delete m_eclipseResultDefinition;
|
delete m_eclipseResultDefinition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void Rim3dWellLogCurve::setPropertiesFromView(Rim3dView* view)
|
||||||
|
{
|
||||||
|
m_case = nullptr;
|
||||||
|
if (view)
|
||||||
|
{
|
||||||
|
m_case = view->ownerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(m_case.value());
|
||||||
|
RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>(m_case.value());
|
||||||
|
m_eclipseResultDefinition->setEclipseCase(eclipseCase);
|
||||||
|
m_geomResultDefinition->setGeoMechCase(geomCase);
|
||||||
|
|
||||||
|
RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(view);
|
||||||
|
if (eclipseView)
|
||||||
|
{
|
||||||
|
m_eclipseResultDefinition->simpleCopy(eclipseView->cellResult());
|
||||||
|
m_timeStep = eclipseView->currentTimeStep();
|
||||||
|
}
|
||||||
|
|
||||||
|
RimGeoMechView* geoMechView = dynamic_cast<RimGeoMechView*>(view);
|
||||||
|
if (geoMechView)
|
||||||
|
{
|
||||||
|
m_geomResultDefinition->setResultAddress(geoMechView->cellResultResultDefinition()->resultAddress());
|
||||||
|
m_timeStep = geoMechView->currentTimeStep();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
caf::PdmFieldHandle* Rim3dWellLogCurve::objectToggleField()
|
||||||
|
{
|
||||||
|
return &m_showCurve;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void Rim3dWellLogCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QList<caf::PdmOptionItemInfo> Rim3dWellLogCurve::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly)
|
||||||
|
{
|
||||||
|
QList<caf::PdmOptionItemInfo> options;
|
||||||
|
|
||||||
|
if (fieldNeedingOptions == &m_case)
|
||||||
|
{
|
||||||
|
RimTools::caseOptionItems(&options);
|
||||||
|
|
||||||
|
options.push_front(caf::PdmOptionItemInfo("None", nullptr));
|
||||||
|
}
|
||||||
|
else if (fieldNeedingOptions == &m_timeStep)
|
||||||
|
{
|
||||||
|
QStringList timeStepNames;
|
||||||
|
|
||||||
|
if (m_case)
|
||||||
|
{
|
||||||
|
timeStepNames = m_case->timeStepStrings();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < timeStepNames.size(); i++)
|
||||||
|
{
|
||||||
|
options.push_back(caf::PdmOptionItemInfo(timeStepNames[i], i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -147,3 +232,4 @@ void Rim3dWellLogCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderin
|
|||||||
|
|
||||||
uiOrdering.skipRemainingFields();
|
uiOrdering.skipRemainingFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -64,12 +64,19 @@ public:
|
|||||||
Rim3dWellLogCurve();
|
Rim3dWellLogCurve();
|
||||||
virtual ~Rim3dWellLogCurve();
|
virtual ~Rim3dWellLogCurve();
|
||||||
|
|
||||||
virtual caf::PdmFieldHandle* userDescriptionField() override;
|
void setPropertiesFromView(Rim3dView* view);
|
||||||
|
|
||||||
|
virtual caf::PdmFieldHandle* objectToggleField() override;
|
||||||
|
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||||
|
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override;
|
||||||
|
virtual caf::PdmFieldHandle* userDescriptionField() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
caf::PdmField<bool> m_showCurve;
|
||||||
caf::PdmField<QString> m_name;
|
caf::PdmField<QString> m_name;
|
||||||
|
|
||||||
caf::PdmPtrField<RimCase*> m_case;
|
caf::PdmPtrField<RimCase*> m_case;
|
||||||
|
Reference in New Issue
Block a user