本文整理汇总了C++中osg::ref_ptr::addMapCallback方法的典型用法代码示例。如果您正苦于以下问题:C++ ref_ptr::addMapCallback方法的具体用法?C++ ref_ptr::addMapCallback怎么用?C++ ref_ptr::addMapCallback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::ref_ptr
的用法示例。
在下文中一共展示了ref_ptr::addMapCallback方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: arguments
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();
}
示例2: arguments
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();
}