]> git.mxchange.org Git - flightgear.git/blobdiff - src/Viewer/CameraGroup.cxx
GUI picks only traverse nodes with PICK_BIT set.
[flightgear.git] / src / Viewer / CameraGroup.cxx
index 255e675f4e9e7586878a9ffecba24b9c046f882b..7d903a5a179b6b0505fc21f4a0a320ee76ac6af5 100644 (file)
@@ -756,6 +756,7 @@ CameraInfo* CameraGroup::buildCamera(SGPropertyNode* cameraNode)
         return 0;
     }
     Camera* camera = new Camera;
+    camera->setName("windowCamera");
     camera->setAllowEventFocus(false);
     camera->setGraphicsContext(window->gc.get());
     camera->setViewport(new Viewport);
@@ -1020,6 +1021,7 @@ CameraInfo* CameraGroup::buildGUICamera(SGPropertyNode* cameraNode,
     const int cameraFlags = GUI | DO_INTERSECTION_TEST;
 
     CameraInfo* result = new CameraInfo(cameraFlags);
+    result->name = "GUI camera";
     // The camera group will always update the camera
     camera->setReferenceFrame(Transform::ABSOLUTE_RF);
 
@@ -1191,7 +1193,8 @@ static bool computeCameraIntersection(const CameraInfo* cinfo, const osg::Vec2d&
                                Vec3d(start.x(), start.y(), start.z()),
                                Vec3d(end.x(), end.y(), end.z()));
   osgUtil::IntersectionVisitor iv(picker.get());
-  iv.setTraversalMask( ~simgear::MODELLIGHT_BIT );
+  iv.setTraversalMask( simgear::PICK_BIT );
+    
   const_cast<Camera*>(camera)->accept(iv);
   if (picker->containsIntersections()) {
     intersections = picker->getIntersections();