#1905 Perforation Intervals : Picking the well path pipe does not work at perforations

Forward all parts intersected to 3d viewer event handler
This commit is contained in:
Magne Sjaastad
2018-01-12 07:54:37 +01:00
parent b70d39cc6c
commit f027027618
7 changed files with 162 additions and 97 deletions

View File

@@ -25,29 +25,28 @@
#include "cvfObject.h"
#include "cvfVector3.h"
namespace cvf {
class Part;
}
namespace cvf {
class Part;
}
class RicViewerEventObject
{
public:
RicViewerEventObject(cvf::Vec3d globalIntersectionPoint, const std::vector<std::pair<const cvf::Part*, cvf::uint>>& partAndTriangleIndexPairs)
: m_globalIntersectionPoint(globalIntersectionPoint),
m_partAndTriangleIndexPairs(partAndTriangleIndexPairs)
{
}
cvf::Vec3d m_globalIntersectionPoint;
std::vector<std::pair<const cvf::Part*, cvf::uint>> m_partAndTriangleIndexPairs;
};
class RicViewerEventInterface
{
public:
virtual bool handleEvent(cvf::Object* eventObject) = 0;
};
class RicViewerEventObject : public cvf::Object
{
public:
RicViewerEventObject(cvf::Vec3d globalIntersectionPoint, cvf::Part* firstHitPart, cvf::uint firstPartTriangleIndex)
: globalIntersectionPoint(globalIntersectionPoint),
firstHitPart(firstHitPart),
firstPartTriangleIndex(firstPartTriangleIndex)
{
}
cvf::Vec3d globalIntersectionPoint;
cvf::Part* firstHitPart;
cvf::uint firstPartTriangleIndex;
virtual bool handleEvent(const RicViewerEventObject& eventObject) = 0;
};