VTK/Examples/Cxx/ImageData/ImageTranslateExtent

From KitwarePublic

Jump to: navigation, search

ImageTranslateExtent.cxx

#include <vtkVersion.h>
#include <vtkActor.h>
#include <vtkImageData.h>
#include <vtkIntArray.h>
#include <vtkProperty2D.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkSmartPointer.h>
#include <vtkImageTranslateExtent.h>
 
int main(int, char *[] )
{
  vtkSmartPointer<vtkImageData> image =
    vtkSmartPointer<vtkImageData>::New();
  image->SetExtent(0, 9, 0, 9, 0, 0);
#if VTK_MAJOR_VERSION <= 5
  image->SetNumberOfScalarComponents(1);
  image->SetScalarTypeToInt();
#else
  image->AllocateScalars(VTK_INT,1);
#endif
 
  vtkSmartPointer<vtkImageTranslateExtent> translateExtent =
    vtkSmartPointer<vtkImageTranslateExtent>::New();
  translateExtent->SetTranslation(3,4,5);
#if VTK_MAJOR_VERSION <= 5
  translateExtent->SetInputConnection(image->GetProducerPort());
#else
  translateExtent->SetInputData(image);
#endif
  translateExtent->Update();
 
  int newExtent[6];
  translateExtent->GetOutput()->GetExtent(newExtent);
 
  std::cout << "New extent: " << newExtent[0] << " " << newExtent[1] << " " << newExtent[2]
            << " " << newExtent[3] << " " << newExtent[4] << " " << newExtent[5] << std::endl;
  return EXIT_SUCCESS;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
 
PROJECT(ImageTranslateExtent)
 
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
 
if (APPLE)
  add_executable(ImageTranslateExtent MACOSX_BUNDLE ImageTranslateExtent.cxx)
else()
  add_executable(ImageTranslateExtent ImageTranslateExtent.cxx)
endif()
 
if(VTK_LIBRARIES)
  target_link_libraries(ImageTranslateExtent ${VTK_LIBRARIES})
else()
  target_link_libraries(ImageTranslateExtent vtkHybrid )
endif()
Personal tools