1 #ifndef __CPEXTENSIONS__VISUALIZATION__MPRACTORS__H__
2 #define __CPEXTENSIONS__VISUALIZATION__MPRACTORS__H__
4 #include <cpExtensions/cpExtensions_Export.h>
5 #include <cpExtensions/Visualization/ImageSliceActors.h>
9 namespace Visualization
13 class cpExtensions_EXPORT MPRActors
14 : public vtkPropCollection
17 typedef MPRActors Self;
19 typedef ImageSliceActors::TBaseStyle TBaseStyle;
20 typedef ImageSliceActors::TStyle TStyle;
21 typedef ImageSliceActors::TSlicesCommand TSlicesCommand;
22 typedef ImageSliceActors::TWindowLevelCommand TWindowLevelCommand;
23 typedef ImageSliceActors::TMouseCommand TMouseCommand;
24 typedef ImageSliceActors::TMouseWheelCommand TMouseWheelCommand;
25 typedef ImageSliceActors::TKeyCommand TKeyCommand;
26 typedef ImageSliceActors::TVoidCommand TVoidCommand;
29 vtkTypeMacro( MPRActors, vtkPropCollection );
33 static MPRActors* New( );
35 ImageSliceActors* GetSliceActors( const int& i ) const;
37 int AddInputConnection( vtkAlgorithmOutput* aout );
38 int AddInputData( vtkImageData* new_image );
39 unsigned int GetNumberOfImages( ) const;
55 void SetLookupTableAsColor(
56 unsigned int i, double r, double g, double b
63 int GetSliceNumberMinValue( const int& axis ) const;
64 int GetSliceNumberMaxValue( const int& axis ) const;
65 int GetSlice( const int& axis ) const;
66 void SetSlice( const int& axis, const int& slice );
67 void SetSlice( const int& axis, const double& slice );
72 virtual ~MPRActors( );
74 vtkImageData* _Image( unsigned int i ) const;
75 void _Update( unsigned int i );
77 static void _SlicesCommand( double* pos, int axis, void* data );
78 static void _WindowLevelCommand( double window, double level, void* data );
79 static void _RenderCommand( void* data );
82 // Purposely not implemented
83 MPRActors( const Self& );
84 Self& operator=( const Self& );
87 vtkSmartPointer< vtkActor > ImageOutlineActor;
88 vtkSmartPointer< ImageSliceActors > Slices[ 2 ][ 3 ];
95 #endif // __CPEXTENSIONS__VISUALIZATION__MPRACTORS__H__