Hi All,

while checking the code related to event handling,
I've noticed that node callbacks receives a NodeVisitor in their handle()
callback, and can then extract the frameStamp if needed.

The same does not apply to the GUIEventHandler added directly to the
osgViewer classes, as thy are invoked this way:
(*hitr)->handleWithCheckAgainstIgnoreHandledEventsMask( *event, *this, 0,
0); //no visitor passed in as argument

Being able to get the frame stamp could be quite useful, for instance if
one has to reset some information at every frame,
and doesn't want to place a dummy node somewhere in the scenegraph.

There are workarounds based on event timing,
but I think it would be more robust if the viewer passed this info to the
handler.
A simple solution could be to pass the same _eventVisitor used for the
scenegraph as an argument to the viewer's handlers, like
(*hitr)->handleWithCheckAgainstIgnoreHandledEventsMask( *event, *this, 0,
_eventVisitor); //no visitor passed in as argument

Robert, do you think it's a viable solution?
If so I will make a submission.

Thanks,
Ricky
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to