Example #1
0
 bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa)
 {
     osgViewer::Viewer* viewer = dynamic_cast<osgViewer::Viewer*>(&aa);
     if (!viewer) return false;
 
     if (_filenames.empty()) return false;
 
     switch(ea.getEventType())
     {
         case(osgGA::GUIEventAdapter::KEYUP):
         {
             if (ea.getKey()=='l')
             {                    
                 osg::ref_ptr<osg::Node> model = osgDB::readNodeFile( _filenames[_position] );
                 ++_position;
                 if (_position>=_filenames.size()) _position = 0;
                 
                 if (model.valid())
                 {
                     viewer->setSceneData(model.get());
                 }
                 
                 return true;
             }
         }
         default: break;
     }
     
     return false;
 }