Hello,
I've developed a simple library for generating and handling GUI-like
events on scene graph nodes. Basically, it allows to register
callbacks that get executed when a certain node is clicked, or the
mouse is moved over it, for instance.
The implementation is still in a very early stage. I am releasing it
now just because there is another guy in the lab wanting to use it,
and therefore I had to put it in a releasable state anyway.
Here is a snippet showing its use:
// OSGUIsh::NodePtr is just a typedef for 'osg::ref_ptr<osg::Node>'
void HandleClick (const osgGA::GUIEventAdapter& ea, OSGUIsh::NodePtr node)
{
std::cout << "Node '" << node.get() << " clicked'!\n";
}
int main()
{
// ...
osg::ref_ptr<OSGUIsh::EventHandler> guishEH(
new OSGUIsh::EventHandler (viewer));
viewer.getEventHandlerList().push_front (guishEH.get());
// ...
guishEH->addNode (anOSGNode);
guishEH->getSignal (anOSGNode, "MouseMove")->connect (&HandleClick);
// ...
}
So, if anyone thinks it is useful, feel free to use it:
http://www.stackedboxes.org/Projects/OSGUIsh
Cheers,
LMB
...oh, yes, I tend to create really bad names for my programs...
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/