VTK/Examples/Cxx/Widgets/ImageTracerWidgetNonPlanar
From KitwarePublic
ImageTracerWidgetNonPlanar.cxx
#include <vtkPolyDataMapper.h> #include <vtkActor.h> #include <vtkRenderWindow.h> #include <vtkRenderer.h> #include <vtkRenderWindowInteractor.h> #include <vtkPolyData.h> #include <vtkSmartPointer.h> #include <vtkSphereSource.h> #include <vtkImageTracerWidget.h> #include <vtkInteractorStyleTrackballCamera.h> int main(int argc, char *argv[]) { vtkSmartPointer<vtkSphereSource> sphereSource = vtkSmartPointer<vtkSphereSource>::New(); sphereSource->Update(); // Create a mapper and actor vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New(); mapper->SetInputConnection(sphereSource->GetOutputPort()); vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New(); actor->SetMapper(mapper); // A renderer and render window vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New(); vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New(); renderWindow->AddRenderer(renderer); renderer->AddActor(actor); // An interactor vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); renderWindowInteractor->SetRenderWindow(renderWindow); vtkSmartPointer<vtkInteractorStyleTrackballCamera> style = vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New(); renderWindowInteractor->SetInteractorStyle(style); vtkSmartPointer<vtkImageTracerWidget> tracerWidget = vtkSmartPointer<vtkImageTracerWidget>::New(); tracerWidget->SetInteractor(renderWindowInteractor); tracerWidget->SetViewProp(actor); renderWindow->Render(); renderWindowInteractor->Initialize(); renderWindow->Render(); tracerWidget->On(); // Begin mouse interaction renderWindowInteractor->Start(); return EXIT_SUCCESS; }
CMakeLists.txt
cmake_minimum_required(VERSION 2.6) PROJECT(ImageTracerWidget) FIND_PACKAGE(VTK REQUIRED) INCLUDE(${VTK_USE_FILE}) ADD_EXECUTABLE(ImageTracerWidget ImageTracerWidget.cxx) TARGET_LINK_LIBRARIES(ImageTracerWidget vtkHybrid vtkWidgets)
Use a prettier image!
