今天原计划把Load/Unload Plugins完全弄明白,可是分析该功能的过程时发现Load/Unload Plugins没有想象的简单,而且它的实现代码中有很多重点知识点值得深入学习。所以,将该部分分两次总结。这次主要是为明天的深入学习做些铺垫,准备分两部分:World Wind Plugin基础知识、展示插件DEMO帮大家坚定信心。
World Wind Plugin基础知识
WorldWind魅力不仅是因为它是开源的三维软件,而且在于它更是一个开源的三维框架。很多朋友都想基于WorldWind搞开发,我原来也是冲着这目的来学习WorldWind,因为它是三维而且是开源的(即:免费的)。但我现在给出原因是:WorldWind具有着让你耳目一新的良好设计框架,它最大的优点就是它的框架思想,支持无限扩展插件。(关于它的架构我会系列在最后总结的,因为这是WW的一大亮点,很值得我们学习!)
扯远了,WorldWind支持动态加载插件,你需要做的只是写个插件,甚至只是一个简单的*.cs插件文件,就轻松地在三维环境下执行你的功能。
WW中主要应用了插件思想,其实现上可以分为两种:Add-on 和Plugin。
Add-on是什么意思?google翻译为“附加”。我们这样可以看待WorldWind:其核心的框架部分好比一副人的骨头架子;其所有各种功能好比“附加”到人骨头架子上的肉;其被各功能访问的数据好比人身体血管里的血液。没有血,人会成啥样?没有肉,人会成啥样??没有骨头,人又会成啥样???呵呵,想象一下,该理解什么是Add-on了吧!回到WW现实上,Add-on就是Earth、Moon等(如下图1),就是Flags of the World、Landmark等(如图2)。
图2
时间: 2024-12-01 00:48:05