mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3249 Refactoring: Remove the old extractintersectionData.
Replace it with a separate find method. Use RiuPickItemInfo in the RicViewerEventObject
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include "cvfBase.h"
|
||||
#include "cvfObject.h"
|
||||
#include "cvfVector3.h"
|
||||
#include "RiuPickItemInfo.h"
|
||||
|
||||
namespace cvf {
|
||||
class Part;
|
||||
@@ -37,18 +38,15 @@ class Rim3dView;
|
||||
class RicViewerEventObject
|
||||
{
|
||||
public:
|
||||
RicViewerEventObject(cvf::Vec3d globalIntersectionPoint,
|
||||
const std::vector<std::pair<const cvf::Part*,
|
||||
cvf::uint>>& partAndTriangleIndexPairs, Rim3dView* view)
|
||||
: m_globalIntersectionPoint(globalIntersectionPoint)
|
||||
, m_partAndTriangleIndexPairs(partAndTriangleIndexPairs)
|
||||
RicViewerEventObject(const std::vector<RiuPickItemInfo>& partAndTriangleIndexPairs,
|
||||
Rim3dView* view)
|
||||
: m_partAndTriangleIndexPairs(partAndTriangleIndexPairs)
|
||||
, m_view(view)
|
||||
{
|
||||
}
|
||||
|
||||
cvf::Vec3d m_globalIntersectionPoint;
|
||||
std::vector<std::pair<const cvf::Part*, cvf::uint>> m_partAndTriangleIndexPairs;
|
||||
Rim3dView* m_view;
|
||||
std::vector<RiuPickItemInfo> m_partAndTriangleIndexPairs;
|
||||
Rim3dView* m_view;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ bool Ric3dWellLogCurveViewerEventHandler::handleEvent(const RicViewerEventObject
|
||||
cvf::uint triangleIndex = cvf::UNDEFINED_UINT;
|
||||
|
||||
const auto& partAndTriangleIndexPair = eventObject.m_partAndTriangleIndexPairs.front();
|
||||
const cvf::Part* part = partAndTriangleIndexPair.first;
|
||||
const cvf::Part* part = partAndTriangleIndexPair.pickedPart();
|
||||
|
||||
const RivObjectSourceInfo* sourceInfo = dynamic_cast<const RivObjectSourceInfo*>(part->sourceInfo());
|
||||
if (sourceInfo)
|
||||
@@ -60,8 +60,10 @@ bool Ric3dWellLogCurveViewerEventHandler::handleEvent(const RicViewerEventObject
|
||||
cvf::Vec3d closestPoint;
|
||||
double measuredDepthAtPoint;
|
||||
double valueAtPoint;
|
||||
Rim3dWellLogCurve* curve = curveCollection->checkForCurveIntersection(
|
||||
eventObject.m_globalIntersectionPoint, &closestPoint, &measuredDepthAtPoint, &valueAtPoint);
|
||||
Rim3dWellLogCurve* curve = curveCollection->checkForCurveIntersection( eventObject.m_partAndTriangleIndexPairs.front().globalPickedPoint(),
|
||||
&closestPoint,
|
||||
&measuredDepthAtPoint,
|
||||
&valueAtPoint);
|
||||
if (curve)
|
||||
{
|
||||
RiuMainWindow::instance()->selectAsCurrentItem(curve);
|
||||
|
||||
@@ -52,7 +52,7 @@ bool RicIntersectionViewerEventHandler::handleEvent(const RicViewerEventObject&
|
||||
CVF_ASSERT(rimView);
|
||||
|
||||
cvf::ref<caf::DisplayCoordTransform> transForm = rimView->displayCoordTransform();
|
||||
cvf::Vec3d domainCoord = transForm->transformToDomainCoord(eventObject.m_globalIntersectionPoint);
|
||||
cvf::Vec3d domainCoord = transForm->transformToDomainCoord(eventObject.m_partAndTriangleIndexPairs.front().globalPickedPoint());
|
||||
|
||||
if (intersection->inputPolyLineFromViewerEnabled())
|
||||
{
|
||||
|
||||
@@ -62,7 +62,7 @@ bool RicWellPathViewerEventHandler::handleEvent(const RicViewerEventObject& even
|
||||
if(!eventObject.m_partAndTriangleIndexPairs.empty())
|
||||
{
|
||||
const auto & partAndTriangleIndexPair = eventObject.m_partAndTriangleIndexPairs.front();
|
||||
const cvf::Part* part = partAndTriangleIndexPair.first;
|
||||
const cvf::Part* part = partAndTriangleIndexPair.pickedPart();
|
||||
|
||||
if (part)
|
||||
{
|
||||
@@ -76,7 +76,7 @@ bool RicWellPathViewerEventHandler::handleEvent(const RicViewerEventObject& even
|
||||
if (eventObject.m_partAndTriangleIndexPairs.size() > 1)
|
||||
{
|
||||
const auto& secondPair = eventObject.m_partAndTriangleIndexPairs[1];
|
||||
const cvf::Part* secondPickedPart = secondPair.first;
|
||||
const cvf::Part* secondPickedPart = secondPair.pickedPart();
|
||||
if (secondPickedPart)
|
||||
{
|
||||
auto wellPathSourceCandidate =
|
||||
@@ -89,7 +89,7 @@ bool RicWellPathViewerEventHandler::handleEvent(const RicViewerEventObject& even
|
||||
{
|
||||
wellPathSourceInfo =
|
||||
dynamic_cast<const RivWellPathSourceInfo*>(secondPickedPart->sourceInfo());
|
||||
wellPathTriangleIndex = secondPair.second;
|
||||
wellPathTriangleIndex = secondPair.faceIdx();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -100,7 +100,7 @@ bool RicWellPathViewerEventHandler::handleEvent(const RicViewerEventObject& even
|
||||
if (dynamic_cast<const RivWellPathSourceInfo*>(part->sourceInfo()))
|
||||
{
|
||||
wellPathSourceInfo = dynamic_cast<const RivWellPathSourceInfo*>(part->sourceInfo());
|
||||
wellPathTriangleIndex = partAndTriangleIndexPair.second;
|
||||
wellPathTriangleIndex = partAndTriangleIndexPair.faceIdx();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -111,7 +111,7 @@ bool RicWellPathViewerEventHandler::handleEvent(const RicViewerEventObject& even
|
||||
if (!rimView) return false;
|
||||
|
||||
cvf::ref<caf::DisplayCoordTransform> transForm = rimView->displayCoordTransform();
|
||||
cvf::Vec3d pickedPositionInUTM = transForm->transformToDomainCoord(eventObject.m_globalIntersectionPoint);
|
||||
cvf::Vec3d pickedPositionInUTM = transForm->transformToDomainCoord(eventObject.m_partAndTriangleIndexPairs.front().globalPickedPoint());
|
||||
|
||||
if (auto intersectionView = dynamic_cast<Rim2dIntersectionView*>(rimView))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user