#4276 RFT-plot: Add support for Measured Depth as Y-axis

This commit is contained in:
Magne Sjaastad 2019-04-03 12:27:49 +02:00
parent 7d78956781
commit e486432391
3 changed files with 39 additions and 9 deletions

View File

@ -856,12 +856,39 @@ void RimWellRftPlot::onLoadDataAndUpdate()
updateMdiWindowVisibility();
updateFormationsOnPlot();
if (m_wellLogPlot->depthType() == RimWellLogPlot::MEASURED_DEPTH)
{
assignWellPathToExtractionCurves();
}
m_wellLogPlot->loadDataAndUpdate();
updateEditorsFromCurves();
updateWidgetTitleWindowTitle();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellRftPlot::assignWellPathToExtractionCurves()
{
RimProject* proj = RiaApplication::instance()->project();
RimWellPath* wellPath = proj->wellPathByName(m_wellPathNameOrSimWellName);
if (wellPath)
{
for (RimWellLogCurve* curve : m_wellLogPlot->trackByIndex(0)->curvesVector())
{
auto extractionCurve = dynamic_cast<RimWellLogExtractionCurve*>(curve);
if (extractionCurve)
{
extractionCurve->setTrajectoryType(RimWellLogExtractionCurve::WELL_PATH);
extractionCurve->setWellPath(wellPath);
}
}
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -106,6 +106,7 @@ private:
void updateEditorsFromCurves();
void updateWidgetTitleWindowTitle();
void syncCurvesFromUiSelection();
void assignWellPathToExtractionCurves();
std::set<RiaRftPltCurveDefinition> selectedCurveDefs() const;
std::set<RiaRftPltCurveDefinition> curveDefsFromCurves() const;

View File

@ -178,13 +178,17 @@ void RimWellLogPlot::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
{
RimWellAllocationPlot* wellAllocPlot;
firstAncestorOrThisOfType(wellAllocPlot);
if (wellAllocPlot) wellAllocPlot->loadDataAndUpdate();
else if (isRftPlotChild()) rftPlot()->loadDataAndUpdate();
else
if (wellAllocPlot)
{
updateTracks();
updateDepthZoom();
wellAllocPlot->loadDataAndUpdate();
}
else if (isRftPlotChild())
{
rftPlot()->loadDataAndUpdate();
}
updateTracks();
updateDepthZoom();
}
else if ( changedField == &m_depthUnit)
{
@ -586,8 +590,7 @@ void RimWellLogPlot::uiOrderingForDepthAxis(caf::PdmUiOrdering& uiOrdering)
{
caf::PdmUiGroup* gridGroup = uiOrdering.addNewGroup("Depth Axis");
RimWellRftPlot* rftp = rftPlot();
if (!(rftp || pltPlot()))
if (!pltPlot())
{
gridGroup->add(&m_depthType);
}
@ -595,7 +598,7 @@ void RimWellLogPlot::uiOrderingForDepthAxis(caf::PdmUiOrdering& uiOrdering)
RimWellAllocationPlot* wap;
firstAncestorOrThisOfType(wap);
if (!(wap || rftp))
if (!wap)
{
gridGroup->add(&m_depthUnit);
}
@ -1127,7 +1130,6 @@ void RimWellLogPlot::updateDisabledDepthTypes()
}
else if (isRftPlotChild())
{
m_disabledDepthTypes.insert(MEASURED_DEPTH);
m_disabledDepthTypes.insert(PSEUDO_LENGTH);
m_disabledDepthTypes.insert(CONNECTION_NUMBER);
}