天天看点

VTK测试程序

#include <vtkSphereSource.h>

#include <vtkPolyData.h>

#include <vtkSmartPointer.h>

#include <vtkPolyDataMapper.h>

#include <vtkActor.h>

#include <vtkRenderWindow.h>

#include <vtkRenderer.h>

#include <vtkRenderWindowInteractor.h>


#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);

int main(int, char *[])

{

    // Create a sphere

    vtkSmartPointer<vtkSphereSource> sphereSource =

        vtkSmartPointer<vtkSphereSource>::New();

    sphereSource->SetCenter(0.0, 0.0, 0.0);

    sphereSource->SetRadius(5.0);

    //mapper

    vtkSmartPointer<vtkPolyDataMapper> mapper =

        vtkSmartPointer<vtkPolyDataMapper>::New();

    mapper->SetInputConnection(sphereSource->GetOutputPort());

    //actor

    vtkSmartPointer<vtkActor> actor =

        vtkSmartPointer<vtkActor>::New();

    actor->SetMapper(mapper);

    //renderer ,renderWindow, renderWindowInteractor.

    vtkSmartPointer<vtkRenderer> renderer =

        vtkSmartPointer<vtkRenderer>::New();

    vtkSmartPointer<vtkRenderWindow> renderWindow =

        vtkSmartPointer<vtkRenderWindow>::New();

    renderWindow->AddRenderer(renderer);

    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =

        vtkSmartPointer<vtkRenderWindowInteractor>::New();

    renderWindowInteractor->SetRenderWindow(renderWindow);

    renderer->AddActor(actor);

    renderer->SetBackground(.3, .6, .3); // Background color green

    renderWindow->Render();

    renderWindowInteractor->Start();

    return EXIT_SUCCESS;

}

           
VTK