int main(int argc, char** argv) { osg::ArgumentParser arguments(&argc,argv); osgViewer::Viewer viewer(arguments); // Start by creating the map: MapOptions mapOptions; mapOptions.cachePolicy() = CachePolicy::NO_CACHE; Map* map = new Map( mapOptions ); // Create out image layer with a custom tile source. ImageLayerOptions options( "custom" ); CustomTileSource* tileSource = new CustomTileSource(); tileSource->open(); map->addImageLayer( new ImageLayer(options, tileSource) ); // That's it, the map is ready; now create a MapNode to render the Map: MapNode* mapNode = new MapNode( map ); viewer.setSceneData( mapNode ); viewer.setCameraManipulator( new EarthManipulator() ); // add some stock OSG handlers: viewer.addEventHandler(new osgViewer::StatsHandler()); viewer.addEventHandler(new osgViewer::WindowSizeHandler()); viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet())); return viewer.run(); }
int main(int argc, char** argv) { osg::ArgumentParser arguments(&argc,argv); osgViewer::Viewer viewer(arguments); // Start by creating an empty map: Map* map = new Map(); // Create out image layer with a custom tile source. CustomTileSource* tileSource = new CustomTileSource(); // Open the tile source. If you don't do this, the Map will automatically try to // open it when you add the Layer later on. But doing so here allows us to check // for any errors beforehand. Status status = tileSource->open(); if (status.isError()) { OE_WARN << "Error opening the tile source; message = " << status.message() << std::endl; return -1; } // Add a new ImageLayer to the map with our custom tile source. ImageLayerOptions options( "My custom ImageLayer" ); map->addLayer( new ImageLayer(options, tileSource) ); // That's it, the map is ready; now create a MapNode to render the Map: MapNode* mapNode = new MapNode( map ); viewer.setSceneData( mapNode ); viewer.setCameraManipulator( new EarthManipulator() ); // add some stock OSG handlers: viewer.addEventHandler(new osgViewer::StatsHandler()); viewer.addEventHandler(new osgViewer::WindowSizeHandler()); viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet())); return viewer.run(); }