VTK: Imaging/Core/vtkImageIterateFilter.h Source File

| VTK 9.3.1

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
22 #include "vtkThreadedImageAlgorithm.h"
23
24 VTK_ABI_NAMESPACE_BEGIN
25 class VTKIMAGINGCORE_EXPORT vtkImageIterateFilter : public vtkThreadedImageAlgorithm
26 {
27 public:
28 vtkTypeMacro(vtkImageIterateFilter, vtkThreadedImageAlgorithm);
29 void PrintSelf(ostream& os, vtkIndent indent) override;
30
32
36 vtkGetMacro(Iteration, int);
37 vtkGetMacro(NumberOfIterations, int);
39
40 protected:
41 vtkImageIterateFilter();
42 ~vtkImageIterateFilter() override;
43
44 // Implement standard requests by calling iterative versions the
45 // specified number of times.
46 int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
47 int RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
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.
54 virtual int IterativeRequestInformation(vtkInformation* in, vtkInformation* out);
55 virtual int IterativeRequestUpdateExtent(vtkInformation* in, vtkInformation* out);
56 virtual int IterativeRequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
57
58 virtual void SetNumberOfIterations(int num);
59
60 // for filters that execute multiple times.
61 int NumberOfIterations;
62 int Iteration;
63 // A list of intermediate caches that is created when
64 // is called SetNumberOfIterations()
65 vtkAlgorithm** IterationData;
66
67 vtkInformationVector* InputVector;
68 vtkInformationVector* OutputVector;
69
70 private:
71 vtkImageIterateFilter(const vtkImageIterateFilter&) = delete;
72 void operator=(const vtkImageIterateFilter&) = delete;
73 };
74
75 VTK_ABI_NAMESPACE_END
76 #endif
vtkAlgorithm
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:61
vtkImageIterateFilter
Multiple executes per update.
Definition: vtkImageIterateFilter.h:26
vtkImageIterateFilter::RequestInformation
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
vtkImageIterateFilter::~vtkImageIterateFilter
~vtkImageIterateFilter() override
vtkImageIterateFilter::IterationData
vtkAlgorithm ** IterationData
Definition: vtkImageIterateFilter.h:65
vtkImageIterateFilter::OutputVector
vtkInformationVector * OutputVector
Definition: vtkImageIterateFilter.h:68
vtkImageIterateFilter::NumberOfIterations
int NumberOfIterations
Definition: vtkImageIterateFilter.h:61
vtkImageIterateFilter::InputVector
vtkInformationVector * InputVector
Definition: vtkImageIterateFilter.h:67
vtkImageIterateFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageIterateFilter::vtkImageIterateFilter
vtkImageIterateFilter()
vtkImageIterateFilter::IterativeRequestData
virtual int IterativeRequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkImageIterateFilter::Iteration
int Iteration
Definition: vtkImageIterateFilter.h:62
vtkImageIterateFilter::RequestData
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkImageIterateFilter::IterativeRequestInformation
virtual int IterativeRequestInformation(vtkInformation *in, vtkInformation *out)
vtkImageIterateFilter::RequestUpdateExtent
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
vtkImageIterateFilter::IterativeRequestUpdateExtent
virtual int IterativeRequestUpdateExtent(vtkInformation *in, vtkInformation *out)
vtkImageIterateFilter::SetNumberOfIterations
virtual void SetNumberOfIterations(int num)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkThreadedImageAlgorithm
Generic filter that has one input.
Definition: vtkThreadedImageAlgorithm.h:34
vtkThreadedImageAlgorithm.h