VTK
|
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