查看: 3071|回复: 4

如何加载.earth文件

[复制链接]

该用户从未签到

发表于 2012-5-10 17:14:32 | 显示全部楼层 |阅读模式
开发环境已经搭建好了,写了个小例子 是osgearth里的一个例子, 原代码 添加的是链接 运行起来就是个白球,想读取.earth文件, 不知该如何操作。
示例代买如下:

        osgEarth::Map* map=new Map();
        //osgEarth:rivers::TMSOptions imagery;
        osgEarth::Drivers::GDALOptions gdal;
        gdal.url()="D:\OSG\osgEarth\sky_rendering.jpg";
        imagery.url() = "D:\OSG\osgEarth\sky_rendering.jpg";
        map->addImageLayer( new ImageLayer("Imagery", gdal) );

      //add a TMS elevation layer:
      TMSOptions elevation;
       elevation.url() = "D:\zk\20120319\igis_sdk\data\ive\data.ive";
       map->addElevationLayer( new ElevationLayer("Elevation", elevation) );
       
       
        osgEarth::MapNode* node = new MapNode(map);
        osgViewer::Viewer viewer;
        viewer.setCameraManipulator(new EarthManipulator);
        viewer.setSceneData(node);
        viewer.getDatabasePager()->setDoPreCompile(true);

        viewer.addEventHandler(new osgViewer::StatsHandler());
        viewer.addEventHandler(new osgViewer::WindowSizeHandler());
        viewer.addEventHandler(new osgViewer::ThreadingHandler());
        viewer.addEventHandler(new osgViewer:ODScaleHandler());
        viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()));

该用户从未签到

发表于 2012-5-11 09:04:05 | 显示全部楼层

osgDB::readNodeFile()就可以读取.earth文件了,你的代码完全。。。。。。建议先看示例程序吧~~~~~~

该用户从未签到

发表于 2013-7-11 14:58:15 | 显示全部楼层
FlySky 发表于 2012-5-11 09:04
osgDB::readNodeFile()就可以读取.earth文件了,你的代码完全。。。。。。建议先看示例程序吧~~~~~ ...

我想问一下,直接读的的.earth文件中的内容,读取后形成的node节点,这个节点里面的包含的各类数据能不能分开,然后自己做处理

该用户从未签到

发表于 2013-7-30 09:37:07 | 显示全部楼层
问题同上。

该用户从未签到

发表于 2013-8-1 09:00:52 | 显示全部楼层
这个问题我已经解决啦,osgEarthQt.cpp里面里面有响应的代码,代码的作用是把.earth文件读取成一个节点,然后把节点的数据形成一个widget,该widget自己可以继承设置样式。用起来挺不错的

您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表