VTK
dox/Imaging/vtkImageRectilinearWipe.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageRectilinearWipe.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
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&);  // Not implemented.
00139   void operator=(const vtkImageRectilinearWipe&);  // Not implemented.
00140 };
00141 
00142 #endif