中国电商平台排行榜前十,刷神马网站优化排名,最近最新新闻,网站首页栏目设置这个就是稍微复杂一点的程序#xff0c;但是vtk的和qt的图形视图框架十分类似#xff0c;qt里有视图、图元、场景#xff0c;而vtk里恰好也有这些
#include vtkSmartPointer.h
#include vtkRenderWindow.h
#include vtkRenderer.h
#in…这个就是稍微复杂一点的程序但是vtk的和qt的图形视图框架十分类似qt里有视图、图元、场景而vtk里恰好也有这些
#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 vtkBMPReader.h
#include vtkTexture.h
#include vtkAutoInit.h
#include vtkLight.h
#include vtkCamera.h
#include vtkJPEGReader.h
#include vtkTexture.h
#include vtkPlaneSource.h
#include vtkPolyDataMapper.h
#include vtkAutoInit.h
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
int main()
{vtkSmartPointervtkCylinderSource cylinder vtkSmartPointervtkCylinderSource::New();cylinder-SetHeight(3.0);//设置高度cylinder-SetRadius(1.0);//设置半径cylinder-SetResolution(6);//设置柱体横截面的边数vtkSmartPointervtkPolyDataMapper cylinderMapper vtkSmartPointervtkPolyDataMapper::New();//将输入的数据转换为点、线、多边形进行渲染cylinderMapper-SetInputConnection(cylinder-GetOutputPort());//VTK可视化管线的输入数据接口//vtkActor,派生自vtkProp类,渲染场景中数据的可视化表达是通过vtkProp的子类负责的//vtkProp子类负责确定渲染场景中对象的位置、大小和方向信息vtkSmartPointervtkActor cylinderActor vtkSmartPointervtkActor::New();cylinderActor-SetMapper(cylinderMapper);//Mapper(vtkMapper)对象负责存放数据和渲染信息//cylinderActor-SetTexture(vtexture);//负责管理场景的渲染过程//组成场景的所有对象包括Prop照相机(Camera)和光照(Light)都被集中在一个vtkRenderer对象中//一个vtkRenderWindow中可以有多个vtkRenderer对象而这些vtkRenderer可以渲染在窗口中不同的矩形区域中vtkSmartPointervtkRenderer renderer vtkSmartPointervtkRenderer::New();renderer-AddActor(cylinderActor);//添加vtkProp类型的对象到渲染场景中//用于设置渲染场景的背景颜色用R、G、B的格式设置三个分量的取值为0.0~ 1.0//(0.0,0.0, 0.0)为黑色(1.0,1.0, 1.0)为白色renderer-SetBackground(0.2, 0.1, 0.4);//将操作系统与VTK渲染引擎连接到一起。//不同平台下的vtkRenderWindow子类负责本地计算机系统中窗口创建和渲染过程管理vtkSmartPointervtkRenderWindow renWin vtkSmartPointervtkRenderWindow::New();renWin-AddRenderer(renderer);//加入vtkRenderer对象renWin-SetSize(1300, 700);//设置窗口的大小以像素为单位//提供平台独立的响应鼠标、键盘和时钟事件的交互机制//通过VTK的Command/Observer设计模式将监听到的特定平台的鼠标//键盘和时钟事件交由vtkInteractorObserver或其子类vtkSmartPointervtkRenderWindowInteractor iren vtkSmartPointervtkRenderWindowInteractor::New();iren-SetRenderWindow(renWin);//设置渲染窗口消息是通过渲染窗口捕获到的所以必须要给交互器对象设置渲染窗口//交互器样式的一种该样式下用户是通过控制相机对物体作旋转、放大、缩小等操作vtkSmartPointervtkInteractorStyleTrackballCamera style vtkSmartPointervtkInteractorStyleTrackballCamera::New();iren-SetInteractorStyle(style);//定义交互器样式,默认的交互样式为vtkInteractorStyleSwitchiren-Initialize();iren-Start();return 0;
}cylinder是六棱柱的数据源然后cylindermapper把数据源弄成图元然后vtkactor拿到这个图元道具接着把这个vtkactor放到场景vtkrendervtkrender然后渲染场景vtkrenderwindow将操作系统和与VTK渲染引擎连接到一起然后就是交互器提供一些交互的功能