VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImageRectilinearWipe.h,v $ 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 vtkTypeRevisionMacro(vtkImageRectilinearWipe,vtkThreadedImageAlgorithm); 00067 void PrintSelf(ostream& os, vtkIndent indent); 00068 00070 00072 vtkSetVector2Macro(Position,int); 00073 vtkGetVectorMacro(Position,int,2); 00075 00077 00078 virtual void SetInput1(vtkDataObject *in) { this->SetInput(0,in); } 00079 virtual void SetInput2(vtkDataObject *in) { this->SetInput(1,in); } 00081 00083 00097 vtkSetClampMacro(Wipe,int,VTK_WIPE_QUAD,VTK_WIPE_UPPER_RIGHT); 00098 vtkGetMacro(Wipe,int); 00099 void SetWipeToQuad() 00100 {this->SetWipe(VTK_WIPE_QUAD);} 00101 void SetWipeToHorizontal() 00102 {this->SetWipe(VTK_WIPE_HORIZONTAL);} 00103 void SetWipeToVertical() 00104 {this->SetWipe(VTK_WIPE_VERTICAL);} 00105 void SetWipeToLowerLeft() 00106 {this->SetWipe(VTK_WIPE_LOWER_LEFT);} 00107 void SetWipeToLowerRight() 00108 {this->SetWipe(VTK_WIPE_LOWER_RIGHT);} 00109 void SetWipeToUpperLeft() 00110 {this->SetWipe(VTK_WIPE_UPPER_LEFT);} 00111 void SetWipeToUpperRight() 00112 {this->SetWipe(VTK_WIPE_UPPER_RIGHT);} 00114 00115 protected: 00116 vtkImageRectilinearWipe(); 00117 ~vtkImageRectilinearWipe() {}; 00118 00119 virtual void ThreadedRequestData(vtkInformation *request, 00120 vtkInformationVector **inputVector, 00121 vtkInformationVector *outputVector, 00122 vtkImageData ***inData, 00123 vtkImageData **outData, 00124 int extent[6], int threadId); 00125 00126 int Position[2]; 00127 int Wipe; 00128 00129 private: 00130 vtkImageRectilinearWipe(const vtkImageRectilinearWipe&); // Not implemented. 00131 void operator=(const vtkImageRectilinearWipe&); // Not implemented. 00132 }; 00133 00134 #endif