VTK  9.0.1
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 =========================================================================*/
47 #ifndef vtkImageRectilinearWipe_h
48 #define vtkImageRectilinearWipe_h
49 
50 #include "vtkImagingHybridModule.h" // For export macro
52 
53 #define VTK_WIPE_QUAD 0
54 #define VTK_WIPE_HORIZONTAL 1
55 #define VTK_WIPE_VERTICAL 2
56 #define VTK_WIPE_LOWER_LEFT 3
57 #define VTK_WIPE_LOWER_RIGHT 4
58 #define VTK_WIPE_UPPER_LEFT 5
59 #define VTK_WIPE_UPPER_RIGHT 6
60 
61 class VTKIMAGINGHYBRID_EXPORT vtkImageRectilinearWipe : public vtkThreadedImageAlgorithm
62 {
63 public:
64  static vtkImageRectilinearWipe* New();
66  void PrintSelf(ostream& os, vtkIndent indent) override;
67 
69 
73  vtkSetVector2Macro(Position, int);
74  vtkGetVectorMacro(Position, int, 2);
76 
78 
82  vtkSetVector2Macro(Axis, int);
83  vtkGetVectorMacro(Axis, int, 2);
85 
89  virtual void SetInput1Data(vtkDataObject* in) { this->SetInputData(0, in); }
90  virtual void SetInput2Data(vtkDataObject* in) { this->SetInputData(1, in); }
91 
93 
111  vtkSetClampMacro(Wipe, int, VTK_WIPE_QUAD, VTK_WIPE_UPPER_RIGHT);
112  vtkGetMacro(Wipe, int);
113  void SetWipeToQuad() { this->SetWipe(VTK_WIPE_QUAD); }
114  void SetWipeToHorizontal() { this->SetWipe(VTK_WIPE_HORIZONTAL); }
115  void SetWipeToVertical() { this->SetWipe(VTK_WIPE_VERTICAL); }
116  void SetWipeToLowerLeft() { this->SetWipe(VTK_WIPE_LOWER_LEFT); }
117  void SetWipeToLowerRight() { this->SetWipe(VTK_WIPE_LOWER_RIGHT); }
118  void SetWipeToUpperLeft() { this->SetWipe(VTK_WIPE_UPPER_LEFT); }
119  void SetWipeToUpperRight() { this->SetWipe(VTK_WIPE_UPPER_RIGHT); }
121 
122 protected:
125 
126  void ThreadedRequestData(vtkInformation* request, vtkInformationVector** inputVector,
127  vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData,
128  int extent[6], int threadId) override;
129 
130  int Position[2];
131  int Wipe;
132  int Axis[2];
133 
134 private:
136  void operator=(const vtkImageRectilinearWipe&) = delete;
137 };
138 
139 #endif
vtkThreadedImageAlgorithm::ThreadedRequestData
virtual void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId)
If the subclass does not define an Execute method, then the task will be broken up,...
vtkImageRectilinearWipe::Wipe
int Wipe
Definition: vtkImageRectilinearWipe.h:131
vtkImageRectilinearWipe::SetWipeToVertical
void SetWipeToVertical()
Definition: vtkImageRectilinearWipe.h:115
vtkImageRectilinearWipe::SetInput1Data
virtual void SetInput1Data(vtkDataObject *in)
Set the two inputs to this filter.
Definition: vtkImageRectilinearWipe.h:89
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
VTK_WIPE_VERTICAL
#define VTK_WIPE_VERTICAL
Definition: vtkImageRectilinearWipe.h:55
vtkThreadedImageAlgorithm
Generic filter that has one input.
Definition: vtkThreadedImageAlgorithm.h:37
vtkImageRectilinearWipe
make a rectilinear combination of two images.
Definition: vtkImageRectilinearWipe.h:61
VTK_WIPE_HORIZONTAL
#define VTK_WIPE_HORIZONTAL
Definition: vtkImageRectilinearWipe.h:54
vtkImageRectilinearWipe::~vtkImageRectilinearWipe
~vtkImageRectilinearWipe() override
Definition: vtkImageRectilinearWipe.h:124
VTK_WIPE_LOWER_RIGHT
#define VTK_WIPE_LOWER_RIGHT
Definition: vtkImageRectilinearWipe.h:57
vtkThreadedImageAlgorithm.h
vtkImageAlgorithm::SetInputData
void SetInputData(vtkDataObject *)
Assign a data object as input.
vtkImageRectilinearWipe::SetWipeToUpperLeft
void SetWipeToUpperLeft()
Definition: vtkImageRectilinearWipe.h:118
vtkImageRectilinearWipe::SetWipeToUpperRight
void SetWipeToUpperRight()
Definition: vtkImageRectilinearWipe.h:119
vtkImageRectilinearWipe::SetWipeToLowerRight
void SetWipeToLowerRight()
Definition: vtkImageRectilinearWipe.h:117
vtkThreadedImageAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:41
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
VTK_WIPE_LOWER_LEFT
#define VTK_WIPE_LOWER_LEFT
Definition: vtkImageRectilinearWipe.h:56
VTK_WIPE_UPPER_LEFT
#define VTK_WIPE_UPPER_LEFT
Definition: vtkImageRectilinearWipe.h:58
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkImageRectilinearWipe::SetWipeToLowerLeft
void SetWipeToLowerLeft()
Definition: vtkImageRectilinearWipe.h:116
vtkAlgorithm::New
static vtkAlgorithm * New()
vtkImageRectilinearWipe::SetInput2Data
virtual void SetInput2Data(vtkDataObject *in)
Definition: vtkImageRectilinearWipe.h:90
vtkImageRectilinearWipe::SetWipeToHorizontal
void SetWipeToHorizontal()
Definition: vtkImageRectilinearWipe.h:114
VTK_WIPE_QUAD
#define VTK_WIPE_QUAD
Definition: vtkImageRectilinearWipe.h:53
vtkX3D::extent
@ extent
Definition: vtkX3D.h:351
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:59
vtkImageRectilinearWipe::SetWipeToQuad
void SetWipeToQuad()
Definition: vtkImageRectilinearWipe.h:113
VTK_WIPE_UPPER_RIGHT
#define VTK_WIPE_UPPER_RIGHT
Definition: vtkImageRectilinearWipe.h:59