VTK基础概念-圆柱体绘制
来源:互联网 发布:手机借款软件排行 编辑:程序博客网 时间:2024/06/05 08:43
#include "vtkSmartPointer.h"#include "vtkRenderWindow.h"#include "vtkRenderer.h"#include "vtkRenderWindowInteractor.h"#include "vtkInteractorStyleTrackballCamera.h"#include "vtkCylinderSource.h"#include "vtkPolyDataMapper.h"#include "vtkActor.h"#include "vtkProperty.h"#include "vtkBMPReader.h"int main(){vtkSmartPointer<vtkBMPReader>bmpReader = vtkSmartPointer<vtkBMPReader>::New();bmpReader->SetFileName("C:\\Users\\li\\Desktop\\doling.bmp");vtkSmartPointer<vtkTexture>texture = vtkSmartPointer<vtkTexture>::New();texture->SetInputConnection(bmpReader->GetOutputPort());texture->InterpolateOn();//vtkCylinderSource派生自vtkPolyDataAlgorithm,生成一个中心在渲染场景原点的柱体.vtkSmartPointer<vtkCylinderSource> cylinder = vtkSmartPointer<vtkCylinderSource>::New();cylinder->SetHeight(3.0);cylinder->SetRadius(1.0);cylinder->SetResolution(10);//vtkPolyDataMappe,渲染多边形几何数据(vtkPolyData),派生自类vtkMapper,将输入的数据转换为几何图元(点、线、多边形)进行渲染。//GetOutputPort()VTK可视化管线的输入数据接口,对应的可视化管线输出数据的接口vtkSmartPointer<vtkPolyDataMapper> cylinderMapper = vtkSmartPointer<vtkPolyDataMapper>::New();cylinderMapper->SetInputConnection(cylinder->GetOutputPort());// vtkActor派生自vtkProp类,渲染场景中数据的可视化表达是通过vtkProp的子类负责的。//三维空间中渲染对象最常用的vtkProp子类是vtkActor(表达场景中的几何数据)和vtkVolume(表达场景中的体数据);//二维空间中的数据则是用vtkActor2D表达vtkSmartPointer<vtkActor>cylinderActor = vtkSmartPointer<vtkActor>::New();cylinderActor->SetMapper(cylinderMapper);cylinderActor->SetTexture(texture);//cylinderActor->GetProperty()->SetDiffuseColor(0.5, 0.8, 0.6);// vtkRenderer负责管理场景的渲染过程,vtkRenderer可以渲染在窗口中不同的矩形区域中(即视口),或者覆盖整个窗口区域。vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();renderer->AddActor(cylinderActor); //添加vtkProp类型的对象到渲染场景中。renderer->SetBackground(0.1,0.2,0.4); //0.0~1.0,(0.0,0.0, 0.0)为黑色,(1.0,1.0, 1.0)为白色//vtkRenderWindow将操作系统与VTK渲染引擎连接到一起。不同平台下的vtkRenderWindow子类负责本地计算机系统中窗口创建和渲染过程管理。vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();renWin->AddRenderer(renderer);renWin->SetSize(300,300);vtkSmartPointer<vtkRenderWindowInteractor> iren = vtkSmartPointer<vtkRenderWindowInteractor>::New();iren->SetRenderWindow(renWin);// vtkInteractorStyleTrackballCamera交互器样式的一种,该样式下,用户是通过控制相机对物体作旋转、放大、缩小等操作。vtkSmartPointer<vtkInteractorStyleTrackballCamera> style = vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();iren->SetInteractorStyle(style); //定义交互器样式,默认的交互样式为vtkInteractorStyleSwitchiren->Initialize(); //为窗口事件做准备iren->Start(); //开始进入时间响应循环return 0;//vtkRenderWindow 渲染窗口~剧院;vtkRenderer 渲染场景~舞台;Actor 角色; vtkRenderWindowInteractor 互动;vtkInteractorStyle 互动方式}运行结果:
注:此为学习笔记,资源来源于http://blog.csdn.net/www_doling_net/article/details/8536376
阅读全文
0 0
- VTK基础概念-圆柱体绘制
- VTK基础概念
- 3、VTK基础概念
- VTK基础概念
- VTK中创建圆柱体
- 03-VTK基础概念(1)
- 03-VTK基础概念(2)
- 03-VTK基础概念(1)
- 03-VTK基础概念(2)
- VTK系统基础概念一
- VTK经验分享 3. VTK的基础概念
- 03-VTK基础概念(2) - 博客频道
- opengl 绘制圆柱体
- opengl 绘制实心圆柱体
- opengles绘制圆柱体(光照+纹理)
- opengles绘制圆柱体(光照+纹理)
- VTK基础
- vtk体绘制-例子
- 素数
- HTML5 ul li 去前面的圆点 和 横排
- NGINX基于Cookie和Header的负载均衡会话保持
- Spring中标签属性name和id的区别
- 确定整数是否是回文?空间O(1)时间复杂度O(logn)
- VTK基础概念-圆柱体绘制
- 细说单点登录
- 无题
- clipToPadding 和clipChildren 的区别
- Python之函数参数的使用
- c++ poco Event测试用例
- 4.2分析下面程序,请指出错误的原因和程序错在哪里,并改正错误。
- 机房之导出Excel
- python 手记7 〖笨方法学python习题22〗