From ed19afd126981c7bd3bc33c3e67d18856ee158bd Mon Sep 17 00:00:00 2001 From: Kristian Bendiksen Date: Wed, 29 Sep 2021 12:03:02 +0200 Subject: [PATCH] #8044 StimPlan Model: Show anchor position depth with positive sign. --- .../StimPlanModel/RimStimPlanModel.cpp | 19 ++++++++++++++++++- .../StimPlanModel/RimStimPlanModel.h | 3 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ApplicationLibCode/ProjectDataModel/StimPlanModel/RimStimPlanModel.cpp b/ApplicationLibCode/ProjectDataModel/StimPlanModel/RimStimPlanModel.cpp index c56e43816f..3d308b0e98 100644 --- a/ApplicationLibCode/ProjectDataModel/StimPlanModel/RimStimPlanModel.cpp +++ b/ApplicationLibCode/ProjectDataModel/StimPlanModel/RimStimPlanModel.cpp @@ -183,6 +183,11 @@ RimStimPlanModel::RimStimPlanModel() m_anchorPosition.uiCapability()->setUiReadOnly( true ); m_anchorPosition.xmlCapability()->disableIO(); + CAF_PDM_InitFieldNoDefault( &m_anchorPositionForUi, "AnchorPositionForUi", "Anchor Position", "", "", "" ); + m_anchorPositionForUi.registerGetMethod( this, &RimStimPlanModel::anchorPositionForUi ); + m_anchorPositionForUi.uiCapability()->setUiReadOnly( true ); + m_anchorPositionForUi.xmlCapability()->disableIO(); + CAF_PDM_InitScriptableFieldNoDefault( &m_thicknessDirection, "ThicknessDirection", "Thickness Direction", "", "", "" ); m_thicknessDirection.uiCapability()->setUiReadOnly( true ); m_thicknessDirection.xmlCapability()->disableIO(); @@ -320,6 +325,7 @@ void RimStimPlanModel::fieldChangedByUi( const caf::PdmFieldHandle* changedField if ( changedField == &m_MD ) { updatePositionFromMeasuredDepth(); + updateExtractionDepthBoundaries(); } if ( changedField == &m_extractionOffsetTop || changedField == &m_extractionOffsetBottom ) @@ -508,6 +514,16 @@ cvf::Vec3d RimStimPlanModel::anchorPosition() const return m_anchorPosition(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::Vec3d RimStimPlanModel::anchorPositionForUi() const +{ + cvf::Vec3d v = m_anchorPosition; + v.z() = -v.z(); + return v; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -603,6 +619,7 @@ void RimStimPlanModel::updateExtractionDepthBoundaries() m_extractionDepthTop = std::max( depth - m_extractionOffsetTop, -boundingBox.max().z() ); m_extractionDepthBottom = std::min( depth + m_extractionOffsetBottom, -boundingBox.min().z() ); + updateConnectedEditors(); } } @@ -830,7 +847,7 @@ void RimStimPlanModel::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderin uiOrdering.add( &m_MD ); uiOrdering.add( &m_extractionType ); - uiOrdering.add( &m_anchorPosition ); + uiOrdering.add( &m_anchorPositionForUi ); uiOrdering.add( &m_thicknessDirection ); caf::PdmUiOrdering* extractionBoundariesGroup = uiOrdering.addNewGroup( "Extraction Depth Boundaries" ); diff --git a/ApplicationLibCode/ProjectDataModel/StimPlanModel/RimStimPlanModel.h b/ApplicationLibCode/ProjectDataModel/StimPlanModel/RimStimPlanModel.h index 54479efcab..20b808b028 100644 --- a/ApplicationLibCode/ProjectDataModel/StimPlanModel/RimStimPlanModel.h +++ b/ApplicationLibCode/ProjectDataModel/StimPlanModel/RimStimPlanModel.h @@ -222,6 +222,8 @@ private: static bool useStaticEclipseCase( RiaDefines::CurveProperty curveProperty ); + cvf::Vec3d anchorPositionForUi() const; + protected: caf::PdmField m_MD; caf::PdmPtrField m_eclipseCase; @@ -234,6 +236,7 @@ protected: caf::PdmField m_extractionDepthTop; caf::PdmField m_extractionDepthBottom; caf::PdmField m_anchorPosition; + caf::PdmProxyValueField m_anchorPositionForUi; caf::PdmField m_thicknessDirection; caf::PdmField m_boundingBoxVertical; caf::PdmField m_boundingBoxHorizontal;