VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkImageRectilinearWipe.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageRectilinearWipe.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
49 #ifndef __vtkImageRectilinearWipe_h
50 #define __vtkImageRectilinearWipe_h
51 
52 #include "vtkImagingHybridModule.h" // For export macro
53 #include "vtkThreadedImageAlgorithm.h"
54 
55 #define VTK_WIPE_QUAD 0
56 #define VTK_WIPE_HORIZONTAL 1
57 #define VTK_WIPE_VERTICAL 2
58 #define VTK_WIPE_LOWER_LEFT 3
59 #define VTK_WIPE_LOWER_RIGHT 4
60 #define VTK_WIPE_UPPER_LEFT 5
61 #define VTK_WIPE_UPPER_RIGHT 6
62 
63 class VTKIMAGINGHYBRID_EXPORT vtkImageRectilinearWipe : public vtkThreadedImageAlgorithm
64 {
65 public:
66  static vtkImageRectilinearWipe *New();
67  vtkTypeMacro(vtkImageRectilinearWipe,vtkThreadedImageAlgorithm);
68  void PrintSelf(ostream& os, vtkIndent indent);
69 
71 
73  vtkSetVector2Macro(Position,int);
74  vtkGetVectorMacro(Position,int,2);
76 
78 
80  vtkSetVector2Macro(Axis,int);
81  vtkGetVectorMacro(Axis,int,2);
83 
85 
86  virtual void SetInput1Data(vtkDataObject *in) { this->SetInputData(0,in); }
87  virtual void SetInput2Data(vtkDataObject *in) { this->SetInputData(1,in); }
89 
91 
105  vtkSetClampMacro(Wipe,int,VTK_WIPE_QUAD,VTK_WIPE_UPPER_RIGHT);
106  vtkGetMacro(Wipe,int);
108  {this->SetWipe(VTK_WIPE_QUAD);}
110  {this->SetWipe(VTK_WIPE_HORIZONTAL);}
112  {this->SetWipe(VTK_WIPE_VERTICAL);}
114  {this->SetWipe(VTK_WIPE_LOWER_LEFT);}
116  {this->SetWipe(VTK_WIPE_LOWER_RIGHT);}
118  {this->SetWipe(VTK_WIPE_UPPER_LEFT);}
120  {this->SetWipe(VTK_WIPE_UPPER_RIGHT);}
122 
123 protected:
126 
127  virtual void ThreadedRequestData(vtkInformation *request,
128  vtkInformationVector **inputVector,
129  vtkInformationVector *outputVector,
130  vtkImageData ***inData,
131  vtkImageData **outData,
132  int extent[6], int threadId);
133 
134  int Position[2];
135  int Wipe;
136  int Axis[2];
137 
138 private:
139  vtkImageRectilinearWipe(const vtkImageRectilinearWipe&); // Not implemented.
140  void operator=(const vtkImageRectilinearWipe&); // Not implemented.
141 };
142 
143 #endif
#define VTK_WIPE_LOWER_LEFT
virtual void SetInput1Data(vtkDataObject *in)
#define VTK_WIPE_LOWER_RIGHT
#define VTK_WIPE_UPPER_RIGHT
#define VTK_WIPE_VERTICAL
#define VTK_WIPE_UPPER_LEFT
make a rectilinear combination of two images.
virtual void SetInput2Data(vtkDataObject *in)
#define VTK_WIPE_QUAD
#define VTK_WIPE_HORIZONTAL