Added camera event callback support into osgViewer

This commit is contained in:
Robert Osfield
2007-05-27 17:29:29 +00:00
parent a49ec6e78d
commit 784383ac08
6 changed files with 107 additions and 15 deletions

View File

@@ -119,6 +119,26 @@ public:
}
};
class CameraUpdateCallback : public osg::NodeCallback
{
virtual void operator()(osg::Node* node, osg::NodeVisitor* nv)
{
std::cout<<"Camera update callback - pre traverse"<<node<<std::endl;
traverse(node,nv);
std::cout<<"Camera update callback - post traverse"<<node<<std::endl;
}
};
class CameraEventCallback : public osg::NodeCallback
{
virtual void operator()(osg::Node* node, osg::NodeVisitor* nv)
{
std::cout<<"Camera event callback - pre traverse"<<node<<std::endl;
traverse(node,nv);
std::cout<<"Camera event callback - post traverse"<<node<<std::endl;
}
};
int main( int argc, char **argv )
{
// use an ArgumentParser object to manage the program arguments.
@@ -147,6 +167,9 @@ int main( int argc, char **argv )
InsertCallbacksVisitor icv;
rootnode->accept(icv);
viewer.getCamera()->setUpdateCallback(new CameraUpdateCallback());
viewer.getCamera()->setEventCallback(new CameraEventCallback());
// set the scene to render
viewer.setSceneData(rootnode);