Add MSW_SEGMENT well path component type and support

Introduce MSW_SEGMENT to WellPathComponentType enum, assign DARK_CYAN color, update sorting order, and add plotting logic with column features and rectangular marker for visualization.
This commit is contained in:
Magne Sjaastad committed 2026-01-20 14:13:22 +01:00
1 parent cb9f3eb07a
commit ae8cc0ecad
4 files changed
+11 -1

No files matched your search

@@ -76,6 +76,8 @@ enum class WellPathComponentType
CASING, CASING,
LINER, LINER,
PACKER, PACKER,
// MSW segments from WELSEGS
MSW_SEGMENT,
UNDEFINED_COMPONENT UNDEFINED_COMPONENT
}; };
@@ -591,6 +591,7 @@ RiaColorTables::WellPathComponentColors RiaColorTables::wellPathComponentColors(
{ RiaDefines::WellPathComponentType::CASING, cvf::Color3::SEA_GREEN }, { RiaDefines::WellPathComponentType::CASING, cvf::Color3::SEA_GREEN },
{ RiaDefines::WellPathComponentType::LINER, cvf::Color3::OLIVE }, { RiaDefines::WellPathComponentType::LINER, cvf::Color3::OLIVE },
{ RiaDefines::WellPathComponentType::PACKER, cvf::Color3::GRAY }, { RiaDefines::WellPathComponentType::PACKER, cvf::Color3::GRAY },
{ RiaDefines::WellPathComponentType::MSW_SEGMENT, cvf::Color3::DARK_CYAN },
{ RiaDefines::WellPathComponentType::UNDEFINED_COMPONENT, cvf::Color3::MAGENTA } }; { RiaDefines::WellPathComponentType::UNDEFINED_COMPONENT, cvf::Color3::MAGENTA } };
} }
@@ -3308,7 +3308,8 @@ void RimWellLogTrack::updateWellPathAttributesOnPlot()
{ RiaDefines::WellPathComponentType::PACKER, 6 }, { RiaDefines::WellPathComponentType::PACKER, 6 },
{ RiaDefines::WellPathComponentType::ICD, 7 }, { RiaDefines::WellPathComponentType::ICD, 7 },
{ RiaDefines::WellPathComponentType::AICD, 8 }, { RiaDefines::WellPathComponentType::AICD, 8 },
{ RiaDefines::WellPathComponentType::ICV, 9 } }; { RiaDefines::WellPathComponentType::ICV, 9 },
{ RiaDefines::WellPathComponentType::MSW_SEGMENT, 10 } };
std::stable_sort( allWellPathComponents.begin(), std::stable_sort( allWellPathComponents.begin(),
allWellPathComponents.end(), allWellPathComponents.end(),
@@ -295,6 +295,12 @@ void RiuWellPathComponentPlotItem::onLoadDataAndUpdate( bool updateParentPlot )
addColumnFeature( 0.25, 1.1 * casingTrackEnd, startDepth, endDepth, componentColor(), Qt::DiagCrossPattern ); addColumnFeature( 0.25, 1.1 * casingTrackEnd, startDepth, endDepth, componentColor(), Qt::DiagCrossPattern );
addMarker( casingTrackEnd, midDepth, 10, RiuPlotCurveSymbol::SYMBOL_RIGHT_ANGLED_TRIANGLE, componentColor( 0.0 ), label() ); addMarker( casingTrackEnd, midDepth, 10, RiuPlotCurveSymbol::SYMBOL_RIGHT_ANGLED_TRIANGLE, componentColor( 0.0 ), label() );
} }
else if ( m_componentType == RiaDefines::WellPathComponentType::MSW_SEGMENT )
{
addColumnFeature( -0.4, -0.25, startDepth, endDepth, componentColor() );
addColumnFeature( 0.25, 0.4, startDepth, endDepth, componentColor() );
addMarker( casingTrackEnd, midDepth, 8, RiuPlotCurveSymbol::SYMBOL_RECT, componentColor( 0.0 ), label() );
}
m_combinedComponentGroup.setTitle( legendTitle() ); m_combinedComponentGroup.setTitle( legendTitle() );
m_combinedComponentGroup.setLegendIconSize( QSize( 20, 16 ) ); m_combinedComponentGroup.setLegendIconSize( QSize( 20, 16 ) );
} }