欢迎来到天天文库
浏览记录
ID:11500434
大小:118.00 KB
页数:22页
时间:2018-07-12
《worldwind学习系列五》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、WorldWind学习系列五:插件加载过程全解析 不得不承认WorldWind的代码真的很庞大,没有太多帮助文档的前提下,一头钻进代码里肯定令你头疼的,甚至研究代码间关联仿佛是在走迷宫。我最近一直想弄明白如何在MenuBar中加载那些插件的,WorldWind学习系列四中研究的只是特殊的三个功能加载的,那三个没有继承Plugin类,不算是插件功能加载。所以WorldWind学习系列四加载的三个是特殊情况,不是一般的插件加载。今天下午终于柳暗花明,如果你真正关注WorldWind分析,那么就好好看看下面的插件加载过程全
2、解析。 我们先看看Plugin类的继承图,看看到底都有些什么插件,然后在分析一般性的插件加载全过程。 哦,原来这么多插件,我们要基于WW开发自己的应用,只需继承Plugin类写出自己的插件功能即可的。 我们现在分析插件加载过程,请确保你看过WorldWind学习系列二:擒贼先擒王篇2中的(5.加载上次使用的配置信息)。加载的插件入口就是WorldWind.cs的Main()中调用的LoadSettings()静态方法。 1.读取WorldWind的配置中插件信息加载WorldWind配置privat
3、e static void LoadSettings() { try { //先读取上次使用时保存的“使用插件配置文件”,如果存在,则从文件中读取配置实例化WorldWindSettings Settings = (WorldWindSettings) SettingsBase.Load(Settings, SettingsBase.LocationType.User); if(!File.Exi
4、sts(Settings.FileName)) { //我们假定是配置文件不存在,这就是一个个地加载插件,保存到ArrayList中 Settings.PluginsLoadedOnStartup.Add("ShapeFileInfoTool"); //Settings.PluginsLoadedOnStartup.Add("OverviewFormLoader");
5、 //Settings.PluginsLoadedOnStartup.Add("Atmosphere"); Settings.PluginsLoadedOnStartup.Add("SkyGradient"); Settings.PluginsLoadedOnStartup.Add("BmngLoader"); //Settings.PluginsLoadedOnStartup.Add("Com
6、pass"); //Settings.PluginsLoadedOnStartup.Add("ExternalLayerManagerLoader"); Settings.PluginsLoadedOnStartup.Add("MeasureTool"); //Settings.PluginsLoadedOnStartup.Add("MovieRecorder"); S
7、ettings.PluginsLoadedOnStartup.Add("NRLWeatherLoader"); Settings.PluginsLoadedOnStartup.Add("ShapeFileLoader"); Settings.PluginsLoadedOnStartup.Add("Stars3D"); Settings.PluginsLoadedOnStartup.Add("GlobalCl
8、ouds"); Settings.PluginsLoadedOnStartup.Add("PlaceFinderLoader"); Settings.PluginsLoadedOnStartup.Add("LightController");
此文档下载收益归作者所有