]> Creatis software - cpPlugins.git/blob - appli/examples/extensions/example_ImageSlice.cxx
86dc891b63bdb9884322d73ae0f05a331380d536
[cpPlugins.git] / appli / examples / extensions / example_ImageSlice.cxx
1 #include <vtkPNGReader.h>
2 #include <vtkRenderer.h>
3 #include <vtkRenderWindow.h>
4 #include <vtkRenderWindowInteractor.h>
5 #include <vtkSmartPointer.h>
6
7 #include <cpExtensions/Visualization/ImageSliceActors.h>
8
9 int main( int argc, char* argv[] )
10 {
11   if( argc < 2 )
12   {
13     std::cerr << "Usage: " << argv[ 0 ] << " input_image.png" << std::endl;
14     return( 1 );
15
16   } // fi
17
18   // Read a test image
19   vtkSmartPointer< vtkPNGReader > reader =
20     vtkSmartPointer< vtkPNGReader >::New( );
21   reader->SetFileName( argv[ 1 ] );
22   reader->Update( );
23
24   // Prepate slice objects
25   vtkSmartPointer< cpExtensions::Visualization::ImageSliceActors > actors =
26     vtkSmartPointer< cpExtensions::Visualization::ImageSliceActors >::New( );
27   actors->SetInputConnection( reader->GetOutputPort( ) );
28
29   // Prepare scene
30   vtkSmartPointer< vtkRenderer > ren =
31     vtkSmartPointer< vtkRenderer >::New( );
32   ren->SetBackground( 0, 0, 0 );
33   actors->PushInto( ren );
34
35   vtkSmartPointer< vtkRenderWindow > win =
36     vtkSmartPointer< vtkRenderWindow >::New( );
37   win->AddRenderer( ren );
38   win->SetSize( 300, 300 );
39
40   vtkSmartPointer< vtkRenderWindowInteractor > iren =
41     vtkSmartPointer< vtkRenderWindowInteractor >::New( );
42   iren->SetRenderWindow( win );
43   iren->SetInteractorStyle( actors->GetStyle( ) );
44
45   iren->Initialize( );
46   ren->ResetCamera( );
47   iren->Start( );
48
49   return( 0 );
50 }
51
52 // eof - $RCSfile$