00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00049 #ifndef __vtkImageRectilinearWipe_h
00050 #define __vtkImageRectilinearWipe_h
00051
00052 #include "vtkThreadedImageAlgorithm.h"
00053
00054 #define VTK_WIPE_QUAD 0
00055 #define VTK_WIPE_HORIZONTAL 1
00056 #define VTK_WIPE_VERTICAL 2
00057 #define VTK_WIPE_LOWER_LEFT 3
00058 #define VTK_WIPE_LOWER_RIGHT 4
00059 #define VTK_WIPE_UPPER_LEFT 5
00060 #define VTK_WIPE_UPPER_RIGHT 6
00061
00062 class VTK_IMAGING_EXPORT vtkImageRectilinearWipe : public vtkThreadedImageAlgorithm
00063 {
00064 public:
00065 static vtkImageRectilinearWipe *New();
00066 vtkTypeMacro(vtkImageRectilinearWipe,vtkThreadedImageAlgorithm);
00067 void PrintSelf(ostream& os, vtkIndent indent);
00068
00070
00072 vtkSetVector2Macro(Position,int);
00073 vtkGetVectorMacro(Position,int,2);
00075
00077
00079 vtkSetVector2Macro(Axis,int);
00080 vtkGetVectorMacro(Axis,int,2);
00082
00084
00085 virtual void SetInput1(vtkDataObject *in) { this->SetInput(0,in); }
00086 virtual void SetInput2(vtkDataObject *in) { this->SetInput(1,in); }
00088
00090
00104 vtkSetClampMacro(Wipe,int,VTK_WIPE_QUAD,VTK_WIPE_UPPER_RIGHT);
00105 vtkGetMacro(Wipe,int);
00106 void SetWipeToQuad()
00107 {this->SetWipe(VTK_WIPE_QUAD);}
00108 void SetWipeToHorizontal()
00109 {this->SetWipe(VTK_WIPE_HORIZONTAL);}
00110 void SetWipeToVertical()
00111 {this->SetWipe(VTK_WIPE_VERTICAL);}
00112 void SetWipeToLowerLeft()
00113 {this->SetWipe(VTK_WIPE_LOWER_LEFT);}
00114 void SetWipeToLowerRight()
00115 {this->SetWipe(VTK_WIPE_LOWER_RIGHT);}
00116 void SetWipeToUpperLeft()
00117 {this->SetWipe(VTK_WIPE_UPPER_LEFT);}
00118 void SetWipeToUpperRight()
00119 {this->SetWipe(VTK_WIPE_UPPER_RIGHT);}
00121
00122 protected:
00123 vtkImageRectilinearWipe();
00124 ~vtkImageRectilinearWipe() {};
00125
00126 virtual void ThreadedRequestData(vtkInformation *request,
00127 vtkInformationVector **inputVector,
00128 vtkInformationVector *outputVector,
00129 vtkImageData ***inData,
00130 vtkImageData **outData,
00131 int extent[6], int threadId);
00132
00133 int Position[2];
00134 int Wipe;
00135 int Axis[2];
00136
00137 private:
00138 vtkImageRectilinearWipe(const vtkImageRectilinearWipe&);
00139 void operator=(const vtkImageRectilinearWipe&);
00140 };
00141
00142 #endif