osgEarth的Rex引擎原理分析和(二十八)活跃瓦片寄存器的作用
发布时间
阅读量:
阅读量
目标:(十二)中的问题18
将其译为“活跃瓦片注册表”更为恰当
在RexTerrainEngineNode中,_liveTiles对应于osgEarth::Drivers::RexTerrainEngine::TileNodeRegistry,该对象在setMap方法调用时被创建,并被置入上下文环境中。随后,该注册表会随着上下文环境在其他位置被调用,例如TileNode的create函数中。
活跃瓦片寄存器的主要职责是管理不同版本的瓦片节点TileNode。当rex引擎执行setMap操作时,该寄存器会被生成。而在TileNode进行create操作时,相应的瓦片会被添加至活跃瓦片寄存器中。当某瓦片被加入到活跃瓦片注册表的过程中,会触发一系列相关操作:
osgEarthDrivers/engine_rex/TileNodeRegistry.cpp
void
TileNodeRegistry::addSafely(TileNode* tile)
{
_tiles.insert( tile->getKey(), tile );
//_tiles[ tile->getTileKey() ] = tile;
if ( _revisioningEnabled )
全部评论 (0)
还没有任何评论哟~
