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