全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏南京理工大学化学与化工学院招聘劳务派遣人员1人备考题库参考答案详解
- 2026《中国志愿》杂志社招聘实习生备考题库及一套答案详解
- 2026广西职业技术学院高层次人才招聘52人备考题库及答案详解1套
- 纺织生产质量管理办法
- 2026国家统计局九江调查队招聘1人备考题库(江西)及一套参考答案详解
- 2026青海海东市互助县中医院医共体招聘乡村医生的1人备考题库及答案详解1套
- 2026广东梅州市丰顺县教育系统引进急需紧缺学科教师20人备考题库及完整答案详解一套
- 2026四川绵阳经济技术开发区招聘园区产业发展服务专员10人备考题库及一套参考答案详解
- 2026双江弘达综合供销(集团)有限公司招聘职业经理人1名备考题库及参考答案详解
- 2026广东省工程勘察设计行业协会招聘1人备考题库含答案详解
- 2026年北京市西城区社区工作者招聘考试试卷(含答案解析)
- 2026重庆市合川区渭沱镇招聘农村基层本土人才13人考试备考题库及答案解析
- 2025上交所技术有限责任公司校园招聘20人笔试历年参考题库附带答案详解
- 高中学考英语作文基本模板
- 2026广西南宁市良庆区良庆镇人民政府招聘工作人员21人笔试参考试题及答案解析
- 2026年光伏建筑一体化(BIPV)行业分析报告及未来发展趋势报告
- 项目部消防应急预案
- 2025年山东青岛市八年级地理生物会考真题试卷(含答案)
- 2026年形势与政策期末测试题及答案
- 广东省广州市七区2021-2022学年高二下学期期末地理试题
- 2026贵州贵旅集团第十四届贵州人才博览会招聘71人笔试备考题库及答案详解
评论
0/150
提交评论