mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5058 Use two decimals in vector positions in Well Paths
This commit is contained in:
parent
d312d423e2
commit
6c0c5803da
@ -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<RigWellPath> 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<caf::PdmUiLineEditorAttributeUiDisplayString*>( 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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include "cafPdmUiCheckBoxEditor.h"
|
||||
|
||||
#include "cafPdmUiLineEditor.h"
|
||||
#include <cmath>
|
||||
|
||||
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<caf::PdmUiLineEditorAttributeUiDisplayString*>( 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
|
||||
{
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user