#include<vtkConeSource.h>
#include<vtkPolyDataMapper.h>
#include<vtkRenderer.h>
#include<vtkRenderWindow.h>
#include<vtkActor.h>
#include<vtkCamera.h>
#include<vtkRenderWindowInteractor.h>
#include<vtkInteractorStyleTrackballCamera.h>
#include<vtkInteractorStyleJoystickActor.h>
#include<vtkProperty.h>
#include<vtkLight.h>
#include<vtkCamera.h>
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);
int main()
{
vtkConeSource *cone = vtkConeSource::New();
cone->SetResolution(6);
cone->SetHeight(5);
cone->SetRadius(2);
vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();
coneMapper->SetInputConnection(cone->GetOutputPort());
vtkActor *coneActor = vtkActor::New(); //设置演员
coneActor->SetMapper(coneMapper);
/*coneActor->GetProperty()->SetColor(1, 0, 0);*/
vtkProperty* coneProperty = vtkProperty::New(); //设置椎体属性
coneProperty->SetColor(1, 0, 0);
//coneProperty->LightingOn();
coneActor->SetProperty(coneProperty);
vtkRenderer *renderer= vtkRenderer::New(); //设置场景
renderer->AddActor(coneActor);
renderer->SetBackground(0.1, 0.8, 0.8);
vtkLight* light = vtkLight::New(); //设置灯光
//light->SetSpecularColor(0, 0, 1); //设置地面光颜色
//light->SetDiffuseColor(0, 0, 10);
//light->SetColor(0, 0, 1);
//light->SwitchOff();
//renderer->AddLight(light);
/*vtkCamera* camera = vtkCamera::New(); //设置照相机
camera->SetPosition(5.0, 0, 0);
camera->SetFocalPoint(-1, 0, 0);
camera->SetViewUp(0, 1, 0);
renderer->SetActiveCamera(camera)*/;
renderer->GetActiveCamera()->SetPosition(5.0, 0, 0);
vtkRenderWindow *renWin = vtkRenderWindow::New(); //设置舞台
renWin->SetSize(500, 500);
renWin->AddRenderer(renderer);
vtkRenderWindowInteractor *interactor = vtkRenderWindowInteractor ::New();//设置交互
interactor->SetRenderWindow(renWin);
vtkInteractorStyleTrackballCamera* style =
vtkInteractorStyleTrackballCamera::New();
interactor->SetInteractorStyle(style);
/*vtkInteractorStyleJoystickActor* style =
vtkInteractorStyleJoystickActor::New();
interactor->SetInteractorStyle(style);*/
//for (int i = 0; i<3600; i++)
//{
// renWin->Render();
// renderer->GetActiveCamera()->Azimuth(1);
//}
interactor->Initialize();
interactor->Start();
cone->Delete();
coneActor->Delete();
coneMapper->Delete();
renderer->Delete();
renWin->Delete();
interactor->Delete();
style->Delete();
coneProperty->Delete();
light->Delete();
//camera->Delete();
return 0;
}
VTK学习笔记——study vtk together 01+02+03+04
最新推荐文章于 2025-03-31 16:27:42 发布