From acf198b28b8b25f3c81863c8c5ace87c4f8c01bc Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 19 Dec 2005 13:40:32 +0000 Subject: [PATCH] Added transform of the eye point into local coordinates to properly account for transforms within the scene graph. --- src/osgUtil/IntersectVisitor.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/osgUtil/IntersectVisitor.cpp b/src/osgUtil/IntersectVisitor.cpp index 9bca6eb11..3a8283708 100644 --- a/src/osgUtil/IntersectVisitor.cpp +++ b/src/osgUtil/IntersectVisitor.cpp @@ -207,6 +207,18 @@ bool IntersectVisitor::hits() return false; } +osg::Vec3 IntersectVisitor::getEyePoint() const +{ + const IntersectState* cis = _intersectStateStack.empty() ? 0 : _intersectStateStack.back().get(); + if (cis) + { + return _pseudoEyePoint * (*(cis->_inverse)); + } + else + { + return _pseudoEyePoint; + } +} void IntersectVisitor::addLineSegment(LineSegment* seg) {