osgEarth的Rex引擎原理分析(九)地图节点MapNode的构建过程

本文分析了osgEarth中的MapNode构造过程,重点探讨了使用Rex地理信息引擎时的地图节点构建。MapNode的初始化涉及成员_map和_mapNodeOptions,并通过init方法创建如osgEarth::Drivers::RexTerrainEngine::RexTerrainEngineNode的地理信息引擎。地图节点的构建是场景树的关键部分,为整个场景提供支撑。文章还列出了一系列后续分析的话题,包括osg的插件加载、.earth文件解析等。
摘要由CSDN通过智能技术生成

目标:(一)中问题6

地图map图层构建完成后,就可以用这个map来构建地图节点osgEarth::MapNode了。

osgEarthDrivers/earth/EarthFileSerialize2.cpp
osg::Node*
EarthFileSerializer2::deserialize( const Config& conf, const std::string& referrer ) const
{
    MapNodeOptions mapNodeOptions( conf.child("options") );
    osg::ref_ptr<MapNode> mapNode = new MapNode( map.get(), mapNodeOptions );
}

osgEarth::MapNode的构造函数主要初始化其成员_map和_mapNodeOptions,然后调用其init方法。其中mapNodeOptions包含了创建的一些选项信息,如果使用Rex地理信息引擎,earth文件中option的配置如下:

<map name="MBTiles" type="geocentric" version="2">  
    <options>
      <terrain driver="rex"/>
    </options>
</map>

init方法主要是根据earth文件中地理信息配置创建地理信息引擎_terrainEngine(比如osgEarth::Drivers::RexTerrainEngine::RexTer

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值