



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VTK/MFC联合编程(对话框程序) 2011-06-19 18:10:17| 分类: VTK | 标签:vtk mfc |字号大中小 订阅 1 首先,建立一个MFC对话框程序,工程名Viewer,删除掉自动生成的.ncb和.sln文件(在下一步用CMake重新生成)2 使用CMake进行配置工程的VTK环境,CMakeLists.txt文件如下,需要修改的地方:VTK路径; StdAfx,Viewer,ViewerDlg,Viewer.rc,res/Viewer.rc2 则是刚刚建立的工程ImageViewer所自动生成的源文件和资源文件cmake_minimum_required(VERSION 2.6)FIND_PACKAGE(VTK)IF(NOT VTK_DIR)MESSAGE(FATAL_ERROR Please set VTK_DIR.)ENDIF(NOT VTK_DIR)INCLUDE($VTK_USE_FILE)INCLUDE(D:/VTK-5.6/vtk-5.6.1/GUISupport/MFC/VTKMFCSettings.cmake)IF(VTK_MFC_DELAYLOAD_VTK_DLLS)VTK_MFC_ADD_DELAYLOAD_FLAGS(CMAKE_EXE_LINKER_FLAGSvtkMFC.dllvtkRendering.dllvtkIO.dllvtkFiltering.dllvtkCommon.dll)ENDIF(VTK_MFC_DELAYLOAD_VTK_DLLS)SET( vtkDLG_SRCS StdAfxViewerViewerDlgViewer.rcres/Viewer.rc2) ADD_EXECUTABLE(vtkDLG WIN32 $vtkDLG_SRCS)IF(VTK_MFC_EXTRA_LIBS)TARGET_LINK_LIBRARIES(vtkDLG $VTK_MFC_EXTRA_LIBS)ENDIF(VTK_MFC_EXTRA_LIBS)TARGET_LINK_LIBRARIES(vtkDLG vtkMFC vtkRendering vtkIO vtkFiltering vtkCommon)3 Viewer程序,直接用对话框作为显示图像的窗口,显示一个球(1) 在CViewDlg.h头文件中添加成员变量和函数,当然不要忘记先添加include,留意VTK_MFC编程的renWin和iren分别是vtkWin32OpenGLRenderWindow ,vtkWin32RenderWindowInteractor ,注意区别.private:void Pipeline();vtkRenderer *ren;vtkWin32OpenGLRenderWindow *renWin;vtkWin32RenderWindowInteractor *iren;vtkSphereSource *sphere;vtkPolyDataMapper *sphereMapper;vtkActor *sphereActor;(2) 考虑VTK管道线,我们按照管道线来向Viewer程序中添加代码,理清思路pipeline:vtkSource-vtkMapper-vtkActor【-vtkProperty】【-vtkLight】【-vtkCamera】-vtkRenderer-vtkRenderWindow【-vtkRenderWindowInteractor】A 在构造函数中实例化对象CViewerDlg:CViewerDlg(CWnd* pParent /*=NULL*/): CDialog(CViewerDlg:IDD, pParent)m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);/实例化对象ren = vtkRenderer:New();renWin = vtkWin32OpenGLRenderWindow:New();iren = vtkWin32RenderWindowInteractor:New();sphere = vtkSphereSource:New();sphereMapper = vtkPolyDataMapper:New();sphereActor = vtkActor:New();B OnPaint()中添加管道线void CViewerDlg:OnPaint().elseCDialog:OnPaint();if (!iren-GetInitialized()renWin-AddRenderer(ren);renWin-SetParentId(this-m_hWnd); /注意这一步,设置绘制窗口iren-SetRenderWindow(renWin);CRect rect;GetClientRect(&rect);iren-Initialize();renWin-SetSize(rect.right-rect.left,rect.bottom-rect.top);ren-ResetCamera();/调用管道线pipeline()Pipeline();renWin-Render();C 当然是该写Pipeline()函数了void CViewerDlg:Pipeline()/创建球sphere-SetRadius(1);sphere-SetThetaResolution(18);sphere-SetPhiResolution(18);sphere-LatLongTessellationOn();sphereMapper-SetInput(sphere-GetOutput();sphereActor-SetMapper(sphereMapper);ren-AddActor(sphereActor);D 最后销毁对象,这里是在关闭对话框的响应函数里实现的void CViewerDlg:OnClose()/ TODO: Add your message handler code here and/or call defaul
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑方案设计找工作简历
- 国庆酒店充值活动方案策划
- 商场健康服务咨询方案
- 福建洁净车间施工方案
- 咨询方案策划
- 药厂企业安全培训课件
- 学校管理经验交流会校长发言:匪性、雅性、刚性、柔性
- 广州开业活动方案咨询
- 天心区营销方案设计
- 2025年英语四六级阅读理解真题模拟试卷:下半月备考攻略
- 设计经理招聘笔试题与参考答案(某大型央企)2024年
- 土方出土合同模板
- 水库周边绿化养护方案
- 井下皮带运输机事故专项应急预案
- 北师大版六年级数学上册《百分数的认识》教学设计
- 2023八年级数学上册 第七章 平行线的证明4 平行线的性质教案 (新版)北师大版
- NB-T32042-2018光伏发电工程建设监理规范
- 博士高校面试答辩模板
- 深圳市劳动法律法规参考手册模板
- 在线网课知道知慧《战舰与海战》单元测试答案
- 2017一级建造师考试港口与航道工程实务真题及答案
评论
0/150
提交评论