mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3836 Annotations. Polyline edit fixes. Default pos
This commit is contained in:
@@ -62,7 +62,7 @@ RicPolylineTarget3dEditor::~RicPolylineTarget3dEditor()
|
||||
RimPolylineTarget* oldTarget = dynamic_cast<RimPolylineTarget*>(this->pdmObject());
|
||||
if (oldTarget)
|
||||
{
|
||||
oldTarget->m_targetPoint.uiCapability()->removeFieldEditor(this);
|
||||
oldTarget->targetPointUiCapability()->removeFieldEditor(this);
|
||||
}
|
||||
|
||||
delete m_manipulator;
|
||||
@@ -85,7 +85,7 @@ void RicPolylineTarget3dEditor::configureAndUpdateUi(const QString& uiConfigName
|
||||
RimUserDefinedPolylinesAnnotation* polylineDef;
|
||||
target->firstAncestorOrThisOfTypeAsserted(polylineDef);
|
||||
|
||||
target->m_targetPoint.uiCapability()->addFieldEditor(this);
|
||||
target->targetPointUiCapability()->addFieldEditor(this);
|
||||
|
||||
if (m_manipulator.isNull())
|
||||
{
|
||||
@@ -131,7 +131,7 @@ void RicPolylineTarget3dEditor::cleanupBeforeSettingPdmObject()
|
||||
RimPolylineTarget* oldTarget = dynamic_cast<RimPolylineTarget*>(this->pdmObject());
|
||||
if (oldTarget)
|
||||
{
|
||||
oldTarget->m_targetPoint.uiCapability()->removeFieldEditor(this);
|
||||
oldTarget->targetPointUiCapability()->removeFieldEditor(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ void RicPolylineTarget3dEditor::slotUpdated(const cvf::Vec3d& origin, const cvf:
|
||||
QVariant originVariant = caf::PdmValueFieldSpecialization < cvf::Vec3d >::convert(domainOrigin);
|
||||
|
||||
target->enableFullUpdate(false);
|
||||
caf::PdmUiCommandSystemProxy::instance()->setUiValueToField(target->m_targetPoint.uiCapability(), originVariant);
|
||||
caf::PdmUiCommandSystemProxy::instance()->setUiValueToField(target->targetPointUiCapability(), originVariant);
|
||||
target->enableFullUpdate(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,11 +19,18 @@
|
||||
|
||||
CAF_CMD_SOURCE_INIT(RicNewPolylineTargetFeature, "RicNewPolylineTargetFeature");
|
||||
|
||||
#include "RiaApplication.h"
|
||||
|
||||
#include "RimProject.h"
|
||||
#include "RimGridView.h"
|
||||
#include "RimCase.h"
|
||||
#include "RimUserDefinedPolylinesAnnotation.h"
|
||||
#include "RimPolylineTarget.h"
|
||||
#include "cafSelectionManager.h"
|
||||
#include <QAction>
|
||||
|
||||
#include "cvfBoundingBox.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -71,7 +78,10 @@ void RicNewPolylineTargetFeature::onActionTriggered(bool isChecked)
|
||||
if (!afterBeforePair.first && afterBeforePair.second)
|
||||
{
|
||||
newPos = afterBeforePair.second->targetPointXYZ();
|
||||
newPos.z() = -newPos.z();
|
||||
|
||||
// Small displacement to separate the targets
|
||||
newPos.x() -= 50;
|
||||
newPos.y() -= 50;
|
||||
}
|
||||
else if (afterBeforePair.first && afterBeforePair.second)
|
||||
{
|
||||
@@ -114,7 +124,18 @@ void RicNewPolylineTargetFeature::onActionTriggered(bool isChecked)
|
||||
|
||||
if ( targetCount == 0 )
|
||||
{
|
||||
polylineDef->appendTarget();
|
||||
auto defaultPos = cvf::Vec3d::ZERO;
|
||||
|
||||
// Set decent position
|
||||
std::vector<RimGridView*> gridViews;
|
||||
RiaApplication::instance()->project()->allVisibleGridViews(gridViews);
|
||||
if (!gridViews.empty())
|
||||
{
|
||||
auto minPos = gridViews.front()->ownerCase()->allCellsBoundingBox().min();
|
||||
defaultPos = minPos;
|
||||
}
|
||||
|
||||
polylineDef->appendTarget(defaultPos);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user