VTK
vtkImageIterateFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageIterateFilter.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 =========================================================================*/
27 #ifndef vtkImageIterateFilter_h
28 #define vtkImageIterateFilter_h
29 
30 #include "vtkImagingCoreModule.h" // For export macro
32 
33 class VTKIMAGINGCORE_EXPORT vtkImageIterateFilter : public vtkThreadedImageAlgorithm
34 {
35 public:
37  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
38 
40 
44  vtkGetMacro(Iteration,int);
45  vtkGetMacro(NumberOfIterations,int);
47 
48 protected:
51 
52  // Implement standard requests by calling iterative versions the
53  // specified number of times.
56  vtkInformationVector*) VTK_OVERRIDE;
57  virtual int RequestInformation (vtkInformation*,
59  vtkInformationVector*) VTK_OVERRIDE;
60  virtual int RequestData(vtkInformation* request,
61  vtkInformationVector** inputVector,
62  vtkInformationVector* outputVector) VTK_OVERRIDE;
63 
64  // Iterative versions of standard requests. These are given the
65  // pipeline information object for the in/out pair at each
66  // iteration.
67  virtual int IterativeRequestInformation(vtkInformation* in,
68  vtkInformation* out);
69  virtual int IterativeRequestUpdateExtent(vtkInformation* in,
70  vtkInformation* out);
71  virtual int IterativeRequestData(vtkInformation*,
72  vtkInformationVector**,
73  vtkInformationVector*);
74 
75  virtual void SetNumberOfIterations(int num);
76 
77  // for filters that execute multiple times.
78  int NumberOfIterations;
79  int Iteration;
80  // A list of intermediate caches that is created when
81  // is called SetNumberOfIterations()
82  vtkAlgorithm **IterationData;
83 
84  vtkInformationVector* InputVector;
85  vtkInformationVector* OutputVector;
86 private:
87  vtkImageIterateFilter(const vtkImageIterateFilter&) VTK_DELETE_FUNCTION;
88  void operator=(const vtkImageIterateFilter&) VTK_DELETE_FUNCTION;
89 };
90 
91 #endif
92 
93 
94 
95 
96 
97 
98 
Store vtkAlgorithm input/output information.
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Subclasses can reimplement this method to translate the update extent requests from each output port ...
Generic filter that has one input.
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:59
a simple class to control print indentation
Definition: vtkIndent.h:39
Multiple executes per update.
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.