Hi,

I am using a combination of osg manipulators (fly, drive, etc.) with a 
KeySwitchManipulator. After these are set up, I have several "tools" which can 
be loaded at runtime, and each of them can register event handler callbacks for 
things like mouse up and mouse down. These handlers are working correctly, 
except the "motion model" manipulators furnished by osg are still getting the 
events, despite the fact that the handlers return true indicating the event was 
handled. So when you click and drag a building, for example, the view will 
rotate and spin in an undesirable fashion. 

I ran across a thread 
(http://forum.openscenegraph.org/viewtopic.php?t=2544&highlight=return+manipulator)
 from back in May 2009  where Robert said:


> In OSG-1.x events were not passed on if handled. 
> 
> In OSG-2.x events are passed on to all manipulators/event handlers and 
> it's the event handlers responsibility to decide whether they want to 
> ignore handled events or not. This approach is more flexible and 
> robust once you now about if (handled) trick. 
> 


So what I am wondering is, what is the correct way to keep the built-in 
manipulators from responding to these handled events? I know about using the 
following code in custom maniuplators:

Code:
if (ea.getHandled()) return false; 



But what about with the built-in ones? And does the order in which the event 
handlers are registered affect anything?

I am using OSG 2.6.1 with MS Visual Studio 2008 on Vista-64.

Thank you!

Cheers,
Brian

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=14712#14712





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to