VTK
dox/Imaging/Hybrid/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 "vtkImagingHybridModule.h" // For export macro
00053 #include "vtkThreadedImageAlgorithm.h"
00054 
00055 #define VTK_WIPE_QUAD 0
00056 #define VTK_WIPE_HORIZONTAL 1
00057 #define VTK_WIPE_VERTICAL 2
00058 #define VTK_WIPE_LOWER_LEFT 3
00059 #define VTK_WIPE_LOWER_RIGHT 4
00060 #define VTK_WIPE_UPPER_LEFT 5
00061 #define VTK_WIPE_UPPER_RIGHT 6
00062 
00063 class VTKIMAGINGHYBRID_EXPORT vtkImageRectilinearWipe : public vtkThreadedImageAlgorithm
00064 {
00065 public:
00066   static vtkImageRectilinearWipe *New();
00067   vtkTypeMacro(vtkImageRectilinearWipe,vtkThreadedImageAlgorithm);
00068   void PrintSelf(ostream& os, vtkIndent indent);
00069 
00071 
00073   vtkSetVector2Macro(Position,int);
00074   vtkGetVectorMacro(Position,int,2);
00076 
00078 
00080   vtkSetVector2Macro(Axis,int);
00081   vtkGetVectorMacro(Axis,int,2);
00083 
00085 
00086   virtual void SetInput1Data(vtkDataObject *in) { this->SetInputData(0,in); }
00087   virtual void SetInput2Data(vtkDataObject *in) { this->SetInputData(1,in); }
00089 
00091 
00105   vtkSetClampMacro(Wipe,int,VTK_WIPE_QUAD,VTK_WIPE_UPPER_RIGHT);
00106   vtkGetMacro(Wipe,int);
00107   void SetWipeToQuad()
00108     {this->SetWipe(VTK_WIPE_QUAD);}
00109   void SetWipeToHorizontal()
00110     {this->SetWipe(VTK_WIPE_HORIZONTAL);}
00111   void SetWipeToVertical()
00112     {this->SetWipe(VTK_WIPE_VERTICAL);}
00113   void SetWipeToLowerLeft()
00114     {this->SetWipe(VTK_WIPE_LOWER_LEFT);}
00115   void SetWipeToLowerRight()
00116     {this->SetWipe(VTK_WIPE_LOWER_RIGHT);}
00117   void SetWipeToUpperLeft()
00118     {this->SetWipe(VTK_WIPE_UPPER_LEFT);}
00119   void SetWipeToUpperRight()
00120     {this->SetWipe(VTK_WIPE_UPPER_RIGHT);}
00122 
00123 protected:
00124   vtkImageRectilinearWipe();
00125   ~vtkImageRectilinearWipe() {}
00126 
00127   virtual void ThreadedRequestData(vtkInformation *request,
00128                                    vtkInformationVector **inputVector,
00129                                    vtkInformationVector *outputVector,
00130                                    vtkImageData ***inData,
00131                                    vtkImageData **outData,
00132                                    int extent[6], int threadId);
00133 
00134   int Position[2];
00135   int Wipe;
00136   int Axis[2];
00137 
00138 private:
00139   vtkImageRectilinearWipe(const vtkImageRectilinearWipe&);  // Not implemented.
00140   void operator=(const vtkImageRectilinearWipe&);  // Not implemented.
00141 };
00142 
00143 #endif