WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer

WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer

ID:40586651

大小:150.50 KB

页数:13页

时间:2019-08-04

WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer_第1页
WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer_第2页
WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer_第3页
WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer_第4页
WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer_第5页
资源描述:

《WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WorldWind学习系列十六:3DCrossSection插件功能分析——TerrainViewer来源:博客园  作者:无痕客  很长时间没写WorldWind方面的东西啦!一方面是自己最近工作上忙点,一方面因为自己热情衰减了,俗话说,“一鼓作气,再而衰,三而竭”,我现在学习WW就有点没太有毅力和士气了!本来想这周末总结一下前段时间的WorldWind学习,没想自己放假期间自制力很差,没一点效率,几乎都上网玩了。     WW的总结只能拖后了,可能过段时间有兴趣有时间了,可能会把总结写了,然后继续深入研究吧。

2、我感觉自己学习或做事都缺点毅力,总是搞定虎头蛇尾的!本来研究WW好好的,可是看了.NET互操作方面的书感觉很好,于是兴致勃勃地学习.NET互操作。看了三章,遇到难点又想放弃来搞线程方面的。我有时都服了自己了:三心二意的!不扯周末的思想了。    WW学习研究虽没像以前那样专注,但也还是时不时关注一下的,前段时间看到3DCrossSection插件,感觉很惊奇,就想研究一下,没想到自已一拖再拖,现在才准备写点东西。    3DCrossSection插件主要是提取WW中当前视图的地形数据和影像数据,然后在新的窗口T

3、errainViewer中显示。也就是提取一部分三维在新的窗体里重点显示。功能就简单一说,3DCrossSection插件中实现提取WW数据的插件部分我们下次再说,我这次主要是关注TerrainViewer的实现。                       TerrainViewer的功能可以单独使用,正如其名字就是一个简单的三维地形数据的浏览器,简直是Mini型的WW。但它里面内容很丰富,有很多知识点值得我们学习借鉴:一方面是C#知识;一方面是Direct3D方面知识;还有就是其中涉及数据算法方面的处理。  

4、   首先,说一下其中的C#拖拽文件到窗体打开功能的实现,看过很多软件特别是视频播放器软件,只要将视频文件拖到上面就能播放该视频;看过Office软件普遍支持拖放打开相应的文件;看过只要将文件拖入回收站就能自己删除等等。这些拖拽方法是如何在C#实现的?自己搞编程很久了,没遇到过这样的需求,也没见过这样代码实现案例,所以自己也就没深入研究这方面的知识。在研究TerrainViewer功能时,看到支持拖拽功能,就首先学习了一下它是如何实现的。自己以后的程序支持类似的拖放打开文件功能多酷?!分析一下该功能代码,与大家分

5、享一下。            // Drag drop            this.AllowDrop = true; //允许窗口拖放            //注册拖放开始事件            this.DragEnter += new DragEventHandler(this.OnDragEnter);            //注册拖放处理事件            this.DragDrop += new DragEventHandler(this.OnDragDrop);复制代码 看看t

6、his.OnDragEnter和this.OnDragDrop事件处理中都分别做了什么。        // File drop handling        private  void  OnDragEnter(object sender, System.Windows.Forms.DragEventArgs e)        {            e.Effect = DragDropEffects.Copy;  // set the cursor to show a drop copy       

7、 }复制代码上面的代码里主要是告诉,拖放的目的和效果是COPY。从下面的截图中,可以看到各种各种拖放效果。      从MSDN上截取的DragDropEffects说明:               真正处理拖放文件的打开实现的代码:private  void  OnDragDrop(object sender, System.Windows.Forms.DragEventArgs e)        {            string theFile;            try            

8、{                // check to make sure the dropped item is of type FileDrop                if (e.Data.GetDataPresent(DataFormats.FileDrop))                {                    //获取拖放数据   

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。