Introduced event handling directly into osgManipulator::Dragger to allow it be used with a global event handler passing in events.

This commit is contained in:
Robert Osfield
2009-06-29 21:32:10 +00:00
parent 8aaedda982
commit e30e4df30c
8 changed files with 140 additions and 20 deletions

View File

@@ -136,6 +136,8 @@ osg::Node* addDraggerToScene(osg::Node* scene, osgManipulator::CommandManager* c
osgManipulator::Dragger* dragger = createDragger(name);
dragger->setHandleEvents(true);
osg::Group* root = new osg::Group;
root->addChild(dragger);
root->addChild(selection);
@@ -260,8 +262,8 @@ class PickModeHandler : public osgGA::GUIEventHandler
_mode(VIEW),
_activeDragger(0)
{
}
}
bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa,
osg::Object*, osg::NodeVisitor*)
{
@@ -432,7 +434,7 @@ int main( int argc, char **argv )
} else {
viewer.setSceneData(loadedModel.get());
}
viewer.addEventHandler(new PickModeHandler());
// viewer.addEventHandler(new PickModeHandler());
return viewer.run();
}