VTK  9.3.0
vtkImageIterateFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
18 #ifndef vtkImageIterateFilter_h
19 #define vtkImageIterateFilter_h
20 
21 #include "vtkImagingCoreModule.h" // For export macro
23 
24 VTK_ABI_NAMESPACE_BEGIN
25 class VTKIMAGINGCORE_EXPORT vtkImageIterateFilter : public vtkThreadedImageAlgorithm
26 {
27 public:
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
32 
36  vtkGetMacro(Iteration, int);
37  vtkGetMacro(NumberOfIterations, int);
39 
40 protected:
43 
44  // Implement standard requests by calling iterative versions the
45  // specified number of times.
48  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
49  vtkInformationVector* outputVector) override;
50 
51  // Iterative versions of standard requests. These are given the
52  // pipeline information object for the in/out pair at each
53  // iteration.
57 
58  virtual void SetNumberOfIterations(int num);
59 
60  // for filters that execute multiple times.
62  int Iteration;
63  // A list of intermediate caches that is created when
64  // is called SetNumberOfIterations()
66 
69 
70 private:
72  void operator=(const vtkImageIterateFilter&) = delete;
73 };
74 
75 VTK_ABI_NAMESPACE_END
76 #endif
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:61
Multiple executes per update.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
~vtkImageIterateFilter() override
vtkInformationVector * OutputVector
vtkInformationVector * InputVector
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int IterativeRequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
virtual int IterativeRequestInformation(vtkInformation *in, vtkInformation *out)
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
virtual int IterativeRequestUpdateExtent(vtkInformation *in, vtkInformation *out)
virtual void SetNumberOfIterations(int num)
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Generic filter that has one input.