diff --git a/ApplicationCode/ProjectDataModel/RimWellPathGeometryDef.cpp b/ApplicationCode/ProjectDataModel/RimWellPathGeometryDef.cpp index 01972a43a2..da9641c968 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPathGeometryDef.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellPathGeometryDef.cpp @@ -35,6 +35,7 @@ #include "WellPathCommands/PointTangentManipulator/RicWellPathGeometry3dEditor.h" #include "cafCmdFeatureMenuBuilder.h" +#include "cafPdmUiLineEditor.h" #include "cafPdmUiPushButtonEditor.h" #include "cafPdmUiTableViewEditor.h" #include "cafPdmUiTreeOrdering.h" @@ -159,7 +160,6 @@ cvf::ref RimWellPathGeometryDef::createWellPathGeometry() RiaPolyArcLineSampler arcLineSampler( wellPathCalculator.startTangent(), wellPathCalculator.lineArcEndpoints() ); - arcLineSampler.sampledPointsAndMDs( 30, false, &( wellPathGeometry->m_wellPathPoints ), @@ -563,8 +563,8 @@ RiaLineArcWellPathCalculator RimWellPathGeometryDef::lineArcWellPathCalculator() for ( size_t tIdx = 0; tIdx < wellTargets.size(); ++tIdx ) { - wellTargets[tIdx]->flagRadius1AsIncorrect(targetStatuses[tIdx].isRadius1Editable, false, 0 ); - wellTargets[tIdx]->flagRadius2AsIncorrect(targetStatuses[tIdx].isRadius2Editable, false, 0 ); + wellTargets[tIdx]->flagRadius1AsIncorrect( targetStatuses[tIdx].isRadius1Editable, false, 0 ); + wellTargets[tIdx]->flagRadius2AsIncorrect( targetStatuses[tIdx].isRadius2Editable, false, 0 ); if ( targetStatuses[tIdx].hasDerivedTangent ) { @@ -574,12 +574,16 @@ RiaLineArcWellPathCalculator RimWellPathGeometryDef::lineArcWellPathCalculator() if ( targetStatuses[tIdx].hasOverriddenRadius1 ) { - wellTargets[tIdx]->flagRadius1AsIncorrect( targetStatuses[tIdx].isRadius1Editable, true, targetStatuses[tIdx].resultRadius1 ); + wellTargets[tIdx]->flagRadius1AsIncorrect( targetStatuses[tIdx].isRadius1Editable, + true, + targetStatuses[tIdx].resultRadius1 ); } if ( targetStatuses[tIdx].hasOverriddenRadius2 ) { - wellTargets[tIdx]->flagRadius2AsIncorrect( targetStatuses[tIdx].isRadius2Editable, true, targetStatuses[tIdx].resultRadius2 ); + wellTargets[tIdx]->flagRadius2AsIncorrect( targetStatuses[tIdx].isRadius2Editable, + true, + targetStatuses[tIdx].resultRadius2 ); } } @@ -639,6 +643,18 @@ void RimWellPathGeometryDef::defineEditorAttribute( const caf::PdmFieldHandle* f } } } + + if ( field == &m_referencePointUtmXyd ) + { + auto uiDisplayStringAttr = dynamic_cast( attribute ); + + if ( uiDisplayStringAttr ) + { + uiDisplayStringAttr->m_displayString = QString::number( m_referencePointUtmXyd()[0], 'f', 2 ) + " " + + QString::number( m_referencePointUtmXyd()[1], 'f', 2 ) + " " + + QString::number( m_referencePointUtmXyd()[2], 'f', 2 ); + } + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimWellPathTarget.cpp b/ApplicationCode/ProjectDataModel/RimWellPathTarget.cpp index 59fc37ea5c..9df9df3e00 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPathTarget.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellPathTarget.cpp @@ -7,6 +7,7 @@ #include "cafPdmUiCheckBoxEditor.h" +#include "cafPdmUiLineEditor.h" #include CAF_PDM_SOURCE_INIT( RimWellPathTarget, "WellPathTarget" ); @@ -164,7 +165,7 @@ cvf::Vec3d RimWellPathTarget::tangent() const double aziRad = cvf::Math::toRadians( m_azimuth ); double incRad = cvf::Math::toRadians( m_inclination ); - return RiaOffshoreSphericalCoords::unitVectorFromAziInc(aziRad, incRad); + return RiaOffshoreSphericalCoords::unitVectorFromAziInc( aziRad, incRad ); } //-------------------------------------------------------------------------------------------------- @@ -271,6 +272,27 @@ void RimWellPathTarget::enableFullUpdate( bool enable ) m_isFullUpdateEnabled = enable; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimWellPathTarget::defineEditorAttribute( const caf::PdmFieldHandle* field, + QString uiConfigName, + caf::PdmUiEditorAttribute* attribute ) +{ + if ( field == &m_targetPoint ) + { + auto uiDisplayStringAttr = + dynamic_cast( attribute ); + + if ( uiDisplayStringAttr ) + { + uiDisplayStringAttr->m_displayString = QString::number( m_targetPoint()[0], 'f', 2 ) + " " + + QString::number( m_targetPoint()[1], 'f', 2 ) + " " + + QString::number( m_targetPoint()[2], 'f', 2 ); + } + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -325,33 +347,20 @@ void RimWellPathTarget::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderi m_hasTangentConstraintUiField.uiCapability()->setUiReadOnly( false ); m_targetType.uiCapability()->setUiReadOnly( false ); m_targetPoint.uiCapability()->setUiReadOnly( false ); - // m_dogleg2.uiCapability()->setUiReadOnly( false ); if ( m_targetType == POINT ) { m_azimuth.uiCapability()->setUiReadOnly( true ); m_inclination.uiCapability()->setUiReadOnly( true ); - // m_dogleg1.uiCapability()->setUiReadOnly( true ); } else { m_azimuth.uiCapability()->setUiReadOnly( false ); m_inclination.uiCapability()->setUiReadOnly( false ); - // m_dogleg1.uiCapability()->setUiReadOnly( false ); } RimWellPathGeometryDef* geomDef = nullptr; firstAncestorOrThisOfTypeAsserted( geomDef ); - - // if ( this == geomDef->firstActiveTarget() ) - //{ - // m_dogleg1.uiCapability()->setUiReadOnly( true ); - //} - // - // if ( this == geomDef->lastActiveTarget() ) - //{ - // m_dogleg2.uiCapability()->setUiReadOnly( true ); - //} } else { diff --git a/ApplicationCode/ProjectDataModel/RimWellPathTarget.h b/ApplicationCode/ProjectDataModel/RimWellPathTarget.h index 7f444f37aa..8dbbcd267f 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPathTarget.h +++ b/ApplicationCode/ProjectDataModel/RimWellPathTarget.h @@ -63,6 +63,9 @@ private: const QVariant& oldValue, const QVariant& newValue ) override; void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; + void defineEditorAttribute( const caf::PdmFieldHandle* field, + QString uiConfigName, + caf::PdmUiEditorAttribute* attribute ) override; private: friend class RicWellTarget3dEditor;