VTK
vtkImageAlgorithm.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkImageAlgorithm.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=========================================================================*/
31#ifndef vtkImageAlgorithm_h
32#define vtkImageAlgorithm_h
33
34#include "vtkCommonExecutionModelModule.h" // For export macro
35#include "vtkAlgorithm.h"
36
37class vtkDataSet;
38class vtkImageData;
39
40class VTKCOMMONEXECUTIONMODEL_EXPORT vtkImageAlgorithm : public vtkAlgorithm
41{
42public:
44 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
45
47
52 virtual void SetOutput(vtkDataObject* d);
54
62 vtkInformationVector*) VTK_OVERRIDE;
63
65
73
75
81 vtkDataObject *GetInput() { return this->GetInput(0); };
84
86
91 virtual void AddInputData(vtkDataObject *);
92 virtual void AddInputData(int, vtkDataObject*);
94
95protected:
97 ~vtkImageAlgorithm() VTK_OVERRIDE;
98
103 virtual int RequestInformation(vtkInformation* request,
104 vtkInformationVector** inputVector,
105 vtkInformationVector* outputVector);
106
107
113 virtual int RequestUpdateExtent(vtkInformation*,
116
124 virtual void CopyInputArrayAttributesToOutput(vtkInformation* request,
125 vtkInformationVector** inputVector,
126 vtkInformationVector* outputVector);
127
128
136 virtual int RequestData(vtkInformation *request,
137 vtkInformationVector** inputVector,
138 vtkInformationVector* outputVector);
139
144 virtual void ExecuteDataWithInformation(vtkDataObject *output,
145 vtkInformation* outInfo);
146
148
152 virtual void ExecuteData(vtkDataObject *output);
153 virtual void Execute();
155
157
161 virtual void AllocateOutputData(vtkImageData *out,
162 vtkInformation* outInfo,
163 int *uExtent);
164 virtual vtkImageData *AllocateOutputData(vtkDataObject *out,
165 vtkInformation *outInfo);
167
172 virtual void CopyAttributeData(vtkImageData *in, vtkImageData *out,
173 vtkInformationVector** inputVector);
174
176
181 int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
182 int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
184
185private:
186 vtkImageAlgorithm(const vtkImageAlgorithm&) VTK_DELETE_FUNCTION;
187 void operator=(const vtkImageAlgorithm&) VTK_DELETE_FUNCTION;
188};
189
190#endif
191
192
193
194
195
196
197
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:60
general representation of visualization data
Definition: vtkDataObject.h:65
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
Generic algorithm superclass for image algs.
void SetInputData(vtkDataObject *)
Assign a data object as input.
void SetInputData(int, vtkDataObject *)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetOutput(vtkDataObject *d)
vtkImageData * GetOutput(int)
vtkDataObject * GetInput(int port)
Get a data object for one of the input port connections.
~vtkImageAlgorithm() override
vtkDataObject * GetInput()
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Process a request from the executive.
virtual void AddInputData(int, vtkDataObject *)
virtual void AddInputData(vtkDataObject *)
Assign a data object as input.
vtkImageData * GetImageDataInput(int port)
vtkImageData * GetOutput()
Get the output data object for a port on this algorithm.
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447