WorldWind系列九:Blue Marble插件学习

有两三天没更新博客了,感觉自己又偷懒啦!周五其实主要还是看了研究WorldWind中的Virtual Earth插件功能,我以后准备开发的跟VirtualEarth很类似的,一定得把它攻下。当时Virtual Earth学习没太有大的进展,遇到的难题是:1.图片如何叠加到球体上?(包括投影变换、定位、缩放等)2.Direct 3D开发 。因为Virtual Earth是在Blue Marble插件的基础上开发,所以周六我主要是看了Direct X的基础知识和研究Blue Marble。现在与大家一起分析一下BlueMarble。

Blue Marble插件实现主要是BMNG.cs文件,里面包括两个类BMNG类和BmngLoader类。

BMNG复杂实现BlueMarble功能的控制窗体,BMNG的意思是Blue Marble Next Generation。

BmngLoader类继承自Plugin类,是负责实现插件功能的。它重载了Plugin.cs的Load()和Unload()方法,实现了菜单项点击处理功能menuItemClicked()。这跟一般的实现插件功能的流程是一样的。

下面分别看一下,关键代码的实现。

BMNG类:主要是BMNG构造函数里的处理,这是实现图片叠加到球体上处理的关键,也是分析学习的重点。

时间: 2024-11-08 21:21:33

WorldWind系列九:Blue Marble插件学习的相关文章

WorldWind系列十一:Virtual Earth插件学习

学习WorldWind有很长时间了,理论学习算是基本完成了.我体会是WW的学习主要分为两大步:WW框架体系学习和WW插件学习.学习WW插件逐步深入后,必然要首先学习Direct3D编程,这也算是我的经验之谈吧.今天Virtual Earth插件学习完成,也标志着我可以从WW理论转向WW实践啦.虽然我总结介绍的是Virtual Earth插件,但是希望网友阅读下面的内容前,最好能够先深入学习Direct3D编程.BMNG和Globe Icon插件的底层渲染,这些都是学习Virtual Earth的

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

今天原计划把Load/Unload Plugins完全弄明白,可是分析该功能的过程时发现Load/Unload Plugins没有想象的简单,而且它的实现代码中有很多重点知识点值得深入学习.所以,将该部分分两次总结.这次主要是为明天的深入学习做些铺垫,准备分两部分:World Wind Plugin基础知识.展示插件DEMO帮大家坚定信心. World Wind Plugin基础知识 WorldWind魅力不仅是因为它是开源的三维软件,而且在于它更是一个开源的三维框架.很多朋友都想基于World

WorldWind系列二:擒贼先擒王篇1

有了WorldWind系列一的基础,我们已经可以进行正常调试运行啦!可以先操作看看软件的功能吧,这样我们才可以知道WorldWind有哪些功能等待我们学习的. 开始我们的"WorldWind系列二:擒贼先擒王"分析WorldWind主窗体,从Main函数入口一步步解析学习.至少对于我来说,里面有很多知识要学的.(补充一下:无法进入WorldWind.cs窗体的设计界面,这个问题我早就发现了,但没解决,我们根据功能直接看代码吧) 1.使用System.Version在内部,读取软件版本信

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现   (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一 前言:前面我们基本已经完成了一个Demo,我们在后面的

WorldWind系列三

简单功能分析--主窗体的键盘监听处理及拷贝和粘贴位置坐标功能 在分析功能时发现,各功能都有自己的快捷键相应,比如今天要分析的 Copy Coordinates (Ctrl+C)和Paste Coordinates (Ctrl+P),以及主窗体的全屏功能也是通过快捷键(Alt+Enter).这就使我需要彻底分析一下主窗体的键盘监听处理啦. 主窗体的键盘监听处理 与WorldWind系列三:功能分析--截屏功能和"关于"窗体分析 中AboutDialog.cs分析类似,WorldWind主

【Xamarin开发 Android 系列 3】循序渐进的学习顺序

原文:[Xamarin开发 Android 系列 3]循序渐进的学习顺序 指定合理的学习步骤,将各个技术点进行强化.慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资方式.风险成本极小,但是收货极佳. 用最小的杠杠,撬动爆发力极强的财富,那就是学习和经验的累积的过程!      [学习顺序-1 国内篇] [Xamarin Android开发实战基础篇] 第1章 Xamarin开发Anroid应用介绍 11.1 Xamarin基本知识 11.1.1 Xamarin

UML:九种图的学习

 一.知识简述     UML(Unified Modeling Language)统一建模语言是用来设计软件蓝图的可视化建模语言.描述了一个系统的静态结构和动态行为.它支持面向对象系统的分析.设计.实现和 交付等各个环节,可以用于系统的理解.设计.浏览 .维护和信息控制.     UML的主要包括三种构造块:     1.事物:构成模型图的一些基本图示符号,它们表示一些面向对象的基本概念:     2.关系:表示基本图示符号之间的关系:     3.图:特定的视角对系统所作的抽象描述.    

C#基础知识系列九(对IEnumerable和IEnumerator接口的糊涂认识)

原文:C#基础知识系列九(对IEnumerable和IEnumerator接口的糊涂认识) 前言   IEnumerable.IEnumerator到现在为止对这两个接口还是不太理解,不理解但是自己总是想着试着要搞明白,毕竟自己用的少,所以在此先记录一下.以备自己日后可以来翻查,同时也希望园子里的大牛们,来帮我看看理解的怎么样. 查看并使用两个接口 接下来我们先来看看两个接口的定义. 先来看一下IEnumerable接口,其实看过这个接口之后,发现它其实是非常的简单,只包含一个方法GetEnum

xen虚拟化实战系列(九)之xen虚拟机时间配置

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1286435 xen虚拟化实战系列文章列表 xen虚拟化实战系列(一)之xen虚拟化环境安装xen虚拟化实战系列(二)之xen虚拟机安装xen虚拟化实战系列(三)之xen虚拟机复制xen虚拟化实战系列(四)之xen虚拟机扩展磁盘空间一法xen虚拟化实战系列(五)之xen虚拟机扩展磁盘空间再一法xen虚拟化实战系列(六)之x