基于TerraExplorer的三维地形可视化开发.doc

上传人:文库蛋蛋多 文档编号:2805817 上传时间:2023-02-25 格式:DOC 页数:2 大小:1.72MB
返回 下载 相关 举报
基于TerraExplorer的三维地形可视化开发.doc_第1页
第1页 / 共2页
基于TerraExplorer的三维地形可视化开发.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于TerraExplorer的三维地形可视化开发.doc》由会员分享,可在线阅读,更多相关《基于TerraExplorer的三维地形可视化开发.doc(2页珍藏版)》请在三一办公上搜索。

1、2012. 13图 1图 2图 3基于 T erraExplorer 的三维地形可视化开发黄永兴金 龙摘 要:在 VC+环境下, 通过一个 Skyline TerraExplorer 集成 COM 开发实例,介绍了集成三维地形可视化应用 VC+和 MFC 的编程方法, 包括添加 OLE 自动化客户支持、 创建三维地形显示窗口、 添加三维地形显示菜单命令等, 为采用 VC+创建集成三维地形可视化应用程序提供了一 个详实的参考。关键词: 三维地形可视化; OLE; Skyline TerraExplorer 集成开发( 1) 创 建 框 架 程 序 , 设 计 包 含 TerraExplorer

2、对 象 的 对 话1引言Skyline 软件套装是一套完整的三维场景建立 、框, 实现 OLE 自动化客户支持。发 布 、 浏启动 Visual Studio, 利用 MFC AppWizard 应用程序向导创览 的 平 台 , 被广泛应用在国土 、 测 绘 、 军 事 、 GIS 等 相 关 领域, 它为用户提供了先进的三维地形可视化技术, 并且提供了 集成三维地形显示开发接口, 方便用户在其他应用程序中利用 TerraExplorer 提 供 的 COM 组件进行集成三 维地形可视化编程 开发。建一个基于对话框的应用程序 Pproject1, 创建过程中各选项可保留默认选项, 如图 2 所

3、示。2TerraExplorer 接口说明在 VC+环境下, TerraExplorer 向用户提供了 3 个 ActiveX 控件, 分别是 TE3Dwindow 、 TENavigationMap 和 TEInformation Window。 其中 TE3DWindows 用于显示三维地形场景, TENavi gationMap 用于显示二维导 航 地 图 , TEInformationWindow 用 于 显示模型、 注记等对象列表。 在使用这些组件之前, 需要先安 装 TerraExplorer 三维地形显示库文件如图 1 所示。1) 创建完成后按如下步骤在程序中加入 OLE 自动化

4、支持代码:在 stdafx.h 中原有 #include 后加入代码:#importC:Program FilesSkylineTerraExplorerTerraExplorerX.dllraw_interfaces_only,no_namespace,named_guids2) 在 Project1.rc 资 源 对 话 框 中 , 插 入 TE3Dwindow 和TEInformationWindow 组件, 如图 3、 图 4 所示。集成三维地形可视化开发实例三维地形的数据处理及可视化文件生 成 在 Skyline 的 TerraBuilder 和 TerraExplorer Pro

5、工具中实现, 具体操作在这里 不作细述, 下面只是针对系统已经正确安装了 TerraExplorer 后, 对已经生成的三维可视化文件 *.sky 文件进行编程调用显示。实例采用 VC+面向对象编程语言实现, 主要步骤如下:3642012. 13图 4图 5图 62) 近距离三维效果如图 7 所示。图 73) 三维注记显示效果如图 8 所示。图 8GRAPHICS AND IMAGE PROCESSING漫游。1) 全球视图效果 如图 6 所示。插入 TE 组件后, 再加入两个 Button 按钮, 最终程序对话框如图 5 所示。3) 在 Project1.h 中加入如下代码:(2) 程序编码

6、, 实现应用程序与对话框的交互。1) 在 Project1Dlg.cpp 文 件 中 的 OnInitDialog 函 数 中 加 入TerraExplorer 初始化代码, 获取其句柄:2) 在 “ 加载 FLY 文 件 ” 按 钮 的 Click 事件中加入文件调 用代码:结语43) 在析构函数中, 释放 TerraExplorer 组件资源。从实用性出发, 详细介绍了在 VC+环境下完成TerraExplorer 集成三维地形可视化的开发过程 , 该开发过程借助 TerraExplorer 的强大功能, 编码简单、 开发快速, 为三维地形 可视化系统应用程序的开发提供了一个良好的思路,

7、用户可以 添加自己的各种算法, 从而实现三维地形可视化的多种应用。(收稿日期: 2012-05-01)(3) 编译并运行程序。编译成功之后 TerraExplorer 在 VC+环境下的集成开发平 台就搭建好了。用户可以通过点击左侧列表中的对象, 来快速切换显示目 标, 也可以在右侧三维视图中, 通过鼠标、 键盘进行三维地形65m_pTerraExplorer.Release();m_pIInformationTree.Release();CString szFilters = 三维地形演示文件(*.fly)|*.fly|;CFileDialog fileDlg(true,fly 文件,*.f

8、ly,0,szFilters,this);if(fileDlg.DoModal() = IDOK)_bstr_t flyFile = fileDlg.GetFileName();m_pTerraExplorer-Load(flyFile);HRESULThr= m_pTerraExplorer.CreateInstance(CLSID_TerraExplorer); ASSERT(SUCCEEDED(hr);hr = m_pTerraExplorer-QueryInterface(&m_pIInform ationTree);ASSERT(SUCCEEDED(hr);ITerraExplorer51Ptr m_pTerraExplorer;IObjectManager51Ptr m_pIObmager; IInformationTree5Ptr m_pIInformationTree;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号