WorldWind学习系列七:LoadUnload Plugins——投石问路篇

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WorldWind学习系列七:Load/Unload Plugins——投石问路篇

来源:博客园作者:无痕客

今天原计划把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)。

图1:图2:

“好像所有的功能都是Add-on了?”是的,Plugin可以被认为是一种Add-on,但是Plugins更强大,你可以简单地安装你所信任来源的插件,Plugins可是用C#,VB或J#写的代码,是被WorldWind在启动时加载和编译的,允许插件开发者在不修改源代码的情况

下就可为WW添加新的功能特性。

如何安装?这个问题感觉是WW客户端用户该问的,对开发者有意义吗?当然啦,不知道用户需求咋搞开发呀!昨晚我还跟一网友聊,要先把WW的功能摸熟。

ADD-ON存放位置:我的在“C:\Program Files\NASA\World Wind 1.4\Add-ons”及下级文件夹下。如图:

将Add-on放到Add-ons文件夹下,如果是星体(如:地球、月亮等),放在外面一层。针对Earth的(如世界国家的国旗)放在Earth文件夹。拷贝过去后需重启WW。

Plugins安装:将开发的Plugin拷贝到“C:\Program Files\NASA\World Wind

1.4\Plug ins”,然后通过Load/Unload加载进WW.如图:

注意:该处是从外面加载Plugin,还有是WW内部的Plugin。外部来的Plugin可以被Uninstall(不是Unload),内部的不可以。(后面会再详述)

插件官方下载:/wiki/Add-on_Launchpad 展示插件DEMO帮大家坚定信心

请看/wuhenke/archive/2009/12/11/1621459.html三楼网友留言,可能很多网友受他过激言论影响,今天我在查看资料时发现,NET版WW仍然在不断更新着,V1.4.1版修正了很多错误。请看/projects/nasa-exp/develop .net版WW最新的更新提交是2009-12-5,更新频率还是很高的。

如果你不能上国外网,请看下面我摘录更新信息:“NASA

WorldWind ammianus committed revision 4087 to the NASA WorldWind SVN repository, changing 1 files.

2009-12-05 13:27:03 UTC by ammianus ”。即使它不更新,它里面也有很多知识值得我们学习的。

我今天做的插件Demo,功能很简单,只是帮大家建立学习WW的信息。将PluginDescendant文件夹(文件夹下包含PluginDescendant.cs)拷贝到“C:\Program Files\NASA\World Wind 1.4\Plugins”,可以加载插件啦!截图如下:

打开Load/unload对话窗口,发现里面已经有PluginDescendant插件啦!

是灰色的,选中它,点击Load按钮即可加载进去,变成绿色!

可以使用该插件啦,后面的选项框如果选中,表示下次启动时自动加载。

不好意思,上面文字打错了,是帮大家坚定信心!

参考资料:/wiki/Add-on_Launchpad

参见WW精简版插件框架:/wuhenke/archive/2011/05/06/2039419.html

相关文档
最新文档