public:
typedef MPRActors Self;
- typedef ImageSliceActors::TBaseStyle TBaseStyle;
- typedef ImageSliceActors::TStyle TStyle;
- typedef ImageSliceActors::TSlicesCommand TSlicesCommand;
- typedef ImageSliceActors::TWindowLevelCommand TWindowLevelCommand;
- typedef ImageSliceActors::TMouseCommand TMouseCommand;
- typedef ImageSliceActors::TMouseWheelCommand TMouseWheelCommand;
- typedef ImageSliceActors::TKeyCommand TKeyCommand;
- typedef ImageSliceActors::TVoidCommand TVoidCommand;
+ typedef ImageSliceActors::TStyle TStyle;
+ typedef ImageSliceActors::TMouseCommand TMouseCommand;
+ typedef ImageSliceActors::TMouseWheelCommand TMouseWheelCommand;
+ typedef ImageSliceActors::TKeyCommand TKeyCommand;
+ typedef ImageSliceActors::TVoidCommand TVoidCommand;
+ typedef ImageSliceActors::TMouseMoveCommand TMouseMoveCommand;
+ typedef ImageSliceActors::TMouseClickCommand TMouseClickCommand;
+ typedef ImageSliceActors::TMouseDoubleClickCommand TMouseDoubleClickCommand;
+ typedef ImageSliceActors::TExposeCommand TExposeCommand;
+ typedef ImageSliceActors::TConfigureCommand TConfigureCommand;
+ typedef ImageSliceActors::TEnterCommand TEnterCommand;
+ typedef ImageSliceActors::TLeaveCommand TLeaveCommand;
public:
vtkTypeMacro( MPRActors, vtkPropCollection );
ImageSliceActors* GetSliceActors( const int& i ) const;
- int AddInputConnection( vtkAlgorithmOutput* aout );
- int AddInputData( vtkImageData* new_image );
+ void SetInputConnection( vtkAlgorithmOutput* aout );
+ void SetInputImage( vtkImageData* data );
+ int AddBinaryConnection(
+ vtkAlgorithmOutput* aout,
+ const double& r, const double& g, const double& b
+ );
+ int AddBinaryImage(
+ vtkImageData* data,
+ const double& r, const double& g, const double& b
+ );
+ void Clear( );
+
+ vtkImageData* GetInputImage( );
+ const vtkImageData* GetInputImage( ) const;
+
unsigned int GetNumberOfImages( ) const;
+ void SetInterpolate( bool v );
+ void InterpolateOn( );
+ void InterpolateOff( );
+
void PushActorsInto(
vtkRenderWindow* x,
vtkRenderWindow* y,
vtkRenderWindow* w
);
- // Color lookup table
- void SetLookupTableAsColor(
- unsigned int i, double r, double g, double b
- );
-
+ double GetMinWindow( ) const;
+ double GetMaxWindow( ) const;
+ double GetMinLevel( ) const;
+ double GetMaxLevel( ) const;
double GetWindow( );
double GetLevel( );
+ void SetWindow( double w );
+ void SetLevel( double l );
+ void SetWindowLevel( double w, double l );
+ void ResetWindowLevel( );
// Slice access
+ int GetSliceNumber( const int& axis ) const;
int GetSliceNumberMinValue( const int& axis ) const;
int GetSliceNumberMaxValue( const int& axis ) const;
- int GetSlice( const int& axis ) const;
- void SetSlice( const int& axis, const int& slice );
- void SetSlice( const int& axis, const double& slice );
- void ResetSlices( );
+ void SetSliceNumber( const int& axis, const int& slice );
+ void SetSlice( const int& axis, double* pos );
+ void SetAxesCursor( const int& axis, double* pos );
+
+ // Rendering controls
+ void Render( const int& axis );
+ void Render( );
+ void ResetCamera( const int& axis );
+ void ResetCameras( );
protected:
MPRActors( );
virtual ~MPRActors( );
+ void _CreateBoundingBox( );
+
static void _SlicesCommand( double* pos, int axis, void* data );
static void _WindowLevelCommand(
double window, double level, void* data