mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#455) Added customizable generated curve name for Extraction Curves
This commit is contained in:
parent
850c7804b4
commit
d4d0ac4842
@ -24,6 +24,8 @@
|
||||
#include "RigCaseCellResultsData.h"
|
||||
#include "RigCaseData.h"
|
||||
#include "RigEclipseWellLogExtractor.h"
|
||||
#include "RigFemPartResultsCollection.h"
|
||||
#include "RigGeoMechCaseData.h"
|
||||
#include "RigGeoMechWellLogExtractor.h"
|
||||
#include "RigResultAccessorFactory.h"
|
||||
|
||||
@ -77,6 +79,11 @@ RimWellLogExtractionCurve::RimWellLogExtractionCurve()
|
||||
m_geomResultDefinition = new RimGeoMechResultDefinition;
|
||||
|
||||
CAF_PDM_InitField(&m_timeStep, "CurveTimeStep", 0,"Time Step", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_addCaseNameToCurveName, "AddCaseNameToCurveName", true, "Case Name", "", "", "");
|
||||
CAF_PDM_InitField(&m_addPropertyToCurveName, "AddPropertyToCurveName", true, "Property", "", "", "");
|
||||
CAF_PDM_InitField(&m_addWellNameToCurveName, "AddWellNameToCurveName", true, "WellName", "", "", "");
|
||||
CAF_PDM_InitField(&m_addTimestepToCurveName, "AddTimestepToCurveName", true, "Timestep", "", "", "");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -108,6 +115,14 @@ void RimWellLogExtractionCurve::fieldChangedByUi(const caf::PdmFieldHandle* chan
|
||||
{
|
||||
this->updatePlotData();
|
||||
}
|
||||
|
||||
if (changedField == &m_addCaseNameToCurveName ||
|
||||
changedField == &m_addPropertyToCurveName ||
|
||||
changedField == &m_addWellNameToCurveName ||
|
||||
changedField == &m_addTimestepToCurveName)
|
||||
{
|
||||
updatePlotTitle();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -278,7 +293,19 @@ QList<caf::PdmOptionItemInfo> RimWellLogExtractionCurve::calculateValueOptions(c
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogExtractionCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
RimWellLogPlotCurve::defineUiOrdering(uiConfigName, uiOrdering);
|
||||
caf::PdmUiGroup* group = uiOrdering.addNewGroup("Curve Display Name");
|
||||
caf::PdmUiGroup* generatedGroup = group->addNewGroup("Generated Display Name");
|
||||
generatedGroup->add(&m_generatedCurveName);
|
||||
caf::PdmUiGroup* generatedNameConfig = generatedGroup->addNewGroup("Include in Display Name");
|
||||
generatedNameConfig->add(&m_addCaseNameToCurveName);
|
||||
generatedNameConfig->add(&m_addPropertyToCurveName);
|
||||
generatedNameConfig->add(&m_addWellNameToCurveName);
|
||||
generatedNameConfig->add(&m_addTimestepToCurveName);
|
||||
|
||||
group->add(&m_useCustomCurveName);
|
||||
group->add(&m_customCurveName);
|
||||
|
||||
uiOrdering.add(&m_curveColor);
|
||||
|
||||
RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(m_case.value());
|
||||
RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>(m_case.value());
|
||||
@ -425,21 +452,67 @@ QString RimWellLogExtractionCurve::createCurveName()
|
||||
{
|
||||
RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(m_case.value());
|
||||
RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>(m_case.value());
|
||||
QString resVar;
|
||||
QString generatedCurveName;
|
||||
|
||||
if (m_addWellNameToCurveName && m_wellPath)
|
||||
{
|
||||
generatedCurveName += m_wellPath->name();
|
||||
}
|
||||
|
||||
if (eclipseCase)
|
||||
{
|
||||
resVar = m_eclipseResultDefinition->resultVariable();
|
||||
if (m_addCaseNameToCurveName)
|
||||
{
|
||||
if (!generatedCurveName.isEmpty())
|
||||
{
|
||||
generatedCurveName += "|";
|
||||
}
|
||||
generatedCurveName += m_case->caseUserDescription();
|
||||
}
|
||||
|
||||
if (m_addPropertyToCurveName)
|
||||
{
|
||||
if (!generatedCurveName.isEmpty())
|
||||
{
|
||||
generatedCurveName += "|";
|
||||
}
|
||||
|
||||
generatedCurveName += m_eclipseResultDefinition->resultVariable();
|
||||
}
|
||||
}
|
||||
|
||||
if (geomCase)
|
||||
{
|
||||
QString resCompName = m_geomResultDefinition->resultComponentUiName();
|
||||
if (resCompName.isEmpty())
|
||||
resVar = m_geomResultDefinition->resultFieldUiName();
|
||||
generatedCurveName = m_geomResultDefinition->resultFieldUiName();
|
||||
else
|
||||
resVar = m_geomResultDefinition->resultFieldUiName() + "." + resCompName;
|
||||
generatedCurveName = m_geomResultDefinition->resultFieldUiName() + "." + resCompName;
|
||||
}
|
||||
|
||||
return resVar;
|
||||
if (m_addTimestepToCurveName)
|
||||
{
|
||||
if (!generatedCurveName.isEmpty())
|
||||
{
|
||||
generatedCurveName += "|";
|
||||
}
|
||||
|
||||
size_t maxTimeStep = 0;
|
||||
|
||||
if (eclipseCase)
|
||||
{
|
||||
RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(m_eclipseResultDefinition->porosityModel());
|
||||
maxTimeStep = eclipseCase->reservoirData()->results(porosityModel)->maxTimeStepCount();
|
||||
}
|
||||
else if (geomCase)
|
||||
{
|
||||
maxTimeStep = geomCase->geoMechData()->femPartResults()->frameCount();
|
||||
}
|
||||
|
||||
|
||||
generatedCurveName += QString("[%1/%2]").arg(m_timeStep()).arg(maxTimeStep);
|
||||
}
|
||||
|
||||
return generatedCurveName;
|
||||
}
|
||||
|
||||
|
@ -60,6 +60,11 @@ protected:
|
||||
caf::PdmChildField<RimGeoMechResultDefinition*> m_geomResultDefinition;
|
||||
caf::PdmField<int> m_timeStep;
|
||||
|
||||
caf::PdmField<bool> m_addCaseNameToCurveName;
|
||||
caf::PdmField<bool> m_addPropertyToCurveName;
|
||||
caf::PdmField<bool> m_addWellNameToCurveName;
|
||||
caf::PdmField<bool> m_addTimestepToCurveName;
|
||||
|
||||
private:
|
||||
static void validCurvePointIntervals(const std::vector<double>& depthValues, const std::vector<double>& values, std::vector< std::pair<size_t, size_t> >& intervals);
|
||||
static void addValuesFromIntervals(const std::vector<double>& values, std::vector< std::pair<size_t, size_t> >& intervals, std::vector<double>* filteredValues);
|
||||
|
@ -75,7 +75,6 @@ protected:
|
||||
RiuWellLogTrackPlot* m_plot;
|
||||
RiuWellLogPlotCurve* m_plotCurve;
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_showCurve;
|
||||
caf::PdmField<QString> m_customCurveName;
|
||||
caf::PdmField<QString> m_generatedCurveName;
|
||||
|
Loading…
Reference in New Issue
Block a user