调试osgEarth源码(六)解析.earth----(1)

依照惯例,感谢@hankern

学习资源链接在https://blog.youkuaiyun.com/hankern/article/details/83933739

根据前面的内容,创建完插件了,加载了,现在就该解析了。很奇怪,家里的网很烂还是设置问题,太长了就没办法上传了,分几部分吧。

先定位到源码

看看类的定义和成员变量,大概就知道在干啥了

成员变量应该是支持协议,扩展和选项的集合。当然,里面还有其他类,暂时不写了。抄源码时抄过了,只写必要的。

跟下去,到doRead()了。

获取文件扩展名

 

判断扩展名小写是否为earth

查看文件名是否与网络相关

查看是否有"://",从而看是不是网络地址,这个是本地的.earth文件,返回false

本地查找.earth文件

本地文件查找肯定不包含网络地址

查看.earth文件是否绝对路径

如果是绝对路径且存在该文件,则返回文件名

 

uri及其成员变量

URIContext类及其成员变量

经过上面一系列的看不懂的运算,得到了cachekey

由于是本地路径,所以返回0,但是如果是网络路径,用到了osgEarth::Threading多线程

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值