int main( int argc, char** argv ) { osg::ArgumentParser arguments( &argc,argv ); // configure the viewer. osgViewer::Viewer viewer( arguments ); // install a motion model viewer.setCameraManipulator( new osgEarth::Util::EarthManipulator() ); // Load an earth file osg::Node* loaded = osgEarth::Util::MapNodeHelper().load(arguments, &viewer); osgEarth::MapNode* mapNode = osgEarth::MapNode::get(loaded); if ( !mapNode ) { OE_WARN << "No osgEarth MapNode found in the loaded file(s)." << std::endl; return -1; } // the displayed Map: s_activeMap = mapNode->getMap(); s_activeMap->addMapCallback( new MyMapListener() ); // a Map to hold inactive layers (layers that have been removed from the displayed Map) s_inactiveMap = new Map(); s_inactiveMap->addMapCallback( new MyMapListener() ); osg::Group* root = new osg::Group(); // install the control panel createControlPanel( &viewer ); root->addChild( loaded ); // update the control panel with the two Maps: updateControlPanel(); viewer.setSceneData( root ); // install our control panel updater viewer.addUpdateOperation( new UpdateOperation() ); viewer.run(); }
int main( int argc, char** argv ) { osg::ArgumentParser arguments( &argc,argv ); // configure the viewer. osgViewer::Viewer viewer( arguments ); s_view = &viewer; // install a motion model viewer.setCameraManipulator( s_manip = new osgEarth::Util::EarthManipulator() ); // disable the small-feature culling (so text will work) viewer.getCamera()->setSmallFeatureCullingPixelSize(-1.0f); // Load an earth file osg::Node* loaded = osgEarth::Util::MapNodeHelper().load(arguments, &viewer); osgEarth::MapNode* mapNode = osgEarth::MapNode::get(loaded); if ( !mapNode ) { OE_WARN << "No osgEarth MapNode found in the loaded file(s)." << std::endl; return -1; } // the displayed Map: s_activeMap = mapNode->getMap(); s_activeMap->addMapCallback( new MyMapListener() ); osg::Group* root = new osg::Group(); // install the control panel createControlPanel( &viewer ); root->addChild( loaded ); // update the control panel with the two Maps: updateControlPanel(); viewer.setSceneData( root ); // install our control panel updater viewer.addUpdateOperation( new UpdateOperation() ); viewer.addEventHandler(new DumpElevation(mapNode, 'E')); viewer.run(); }