实例2:显示椎体及旋转
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
#include <vtkConeSource.h>//源数据
#include <vtkPolyDataMapper.h>//数据映射
#include <vtkRenderer.h>//绘制器
#include <vtkRenderWindow.h>//绘制窗口
#include <vtkActor.h>//演员
#include <vtkCamera.h>//照相机
int main()
{
//指针创建一个圆锥cone
vtkConeSource *cone=vtkConeSource::New();
cone->SetResolution (10);//圆锥的棱边数
cone->SetHeight(3);//指定高度
cone->SetRadius(1);//指定半径
//实例化一个映射器coneMapper
vtkPolyDataMapper *coneMapper=vtkPolyDataMapper::New();
coneMapper->SetInputConnection(cone->GetOutputPort());//源数据输出给映射器输入
//创建一个演员对象coneActor
vtkActor *coneActor=vtkActor::New();
coneActor->SetMapper(coneMapper);//为演员指定mapper进行映射
//搭建舞台 实例化对象renderer
vtkRenderer *renderer=vtkRenderer::New();
renderer->AddActor(coneActor);//将演员加入场景
renderer->SetBackground(0.2,0.2,0.4);//设置场景背景颜色是(R,G,B)
//实例化一个窗口对象renWin
vtkRenderWindow *renWin=vtkRenderWindow::New();
renWin->SetSize(400,200);//设置窗口大小宽*高
renWin->AddRenderer(renderer);//将场景renderer加入renWin窗口中
//旋转5圈
for (int i=0; i<360*5; i++)
{
//绘制舞台上的东西
renWin->Render();
//让场景中照相机旋转1度
renderer->GetActiveCamera()->Azimuth(1);
}
//释放内存
cone->Delete();
coneActor->Delete();
coneMapper->Delete();
renderer->Delete();
renWin->Delete();
return 0;
}
VTK系列目录: