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

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

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WorldWind学习系列十六3DCrossSection插件功能分析TerrainViewer,veinviewer,veinviewer价格,veinviewer血管成像仪,veinviewer设备,中国有veinviewer,inviewer,crosssection,crosssectiondata,radarcrosssection

WorldWind学习系列十六:3D Cross Section插件功能分析——TerrainViewer 来源:博客园 ?? 作者:无痕客???? 3D Cross Section插件主要是提取WW中当前视图的地形数据和影像数据,然后在新的窗口TerrainViewer中显示。也就是提取一部分三维在新的窗体里重点显示。功能就简单一说,3D Cross Section插件中实现提取WW数据的插件部分我们下次再说,我这次主要是关注TerrainViewer的实现。 ??????????????????? ???? TerrainViewer的功能可以单独使用,正如其名字就是一个简单的三维地形数据的浏览器,简直是Mini型的WW。但它里面内容很丰富,有很多知识点值得我们学习借鉴:一方面是C#知识;一方面是Direct3D方面知识;还有就是其中涉及数据算法方面的处理。 ????? 首先,说一下其中的C#拖拽文件到窗体打开功能的实现,看过很多软件特别是视频播放器软件,只要将视频文件拖到上面就能播放该视频;看过Office软件普遍支持拖放打开相应的文件;看过只要将文件拖入回收站就能自己删除等等。这些拖拽方法是如何在C#实现的?自己搞编程很久了,没遇到过这样的需求,也没见过这样代码实现案例,所以自己也就没深入研究这方面的知识。在研究TerrainViewer功能时,看到支持拖拽功能,就首先学习了一下它是如何实现的。自己以后的程序支持类似的拖放打开文件功能多酷?!分析一下该功能代码,与大家分享一下。 ????????????//?Drag?drop ????????????this.AllowDrop?=?true;?//允许窗口拖放 ????????????//注册拖放开始事件 ????????????this.DragEnter?+=?new?DragEventHandler(this.OnDragEnter); ????????????//注册拖放处理事件 ????????????this.DragDrop?+=?new?DragEventHandler(this.OnDragDrop); ?看看this.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 ????????} 上面的代码里主要是告诉,拖放的目的和效果是COPY。从下面的截图中,可以看到各种各种拖放效果。 ?????? ?从MSDN上截取的DragDropEffects说明: ???????????????? 真正处理拖放文件的打开实现的代码: private??void??OnDragDrop(object?sender,?System.Windows.Forms.DragEventArgs?e) ????????{ ????????????string?theFile; ????????????try ????????????{ ????????????????//?check?to?make?sure?the?dropped?item?is?of?type?FileDrop ????????????????if?(e.Data.GetDataPresent(DataFormats.FileDrop)) ????????????????{ ????????????????????//获取拖放数据 ????????????????????object?filename?=?e.Data.GetData(DataFormats.FileDrop); ????????????????????//这里是数组,说明支持多选文件的同时拖放 ????????????????????theFile?=?(string)((System.Array)filename).GetValue(0); ????????????????????//?Create?map?from?file ????????????????????//?MessageBox.Show(Dropped?file?:??+?theFile); ????????????????????//获取拖放文件的后缀名 ????????????????????string?ext?

文档评论(0)

xingkongwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档