VTK  9.3.1
vtkImageSpatialAlgorithm.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
15 #ifndef vtkImageSpatialAlgorithm_h
16 #define vtkImageSpatialAlgorithm_h
17 
18 #include "vtkImagingGeneralModule.h" // For export macro
20 
21 VTK_ABI_NAMESPACE_BEGIN
22 class VTKIMAGINGGENERAL_EXPORT vtkImageSpatialAlgorithm : public vtkThreadedImageAlgorithm
23 {
24 public:
25  static vtkImageSpatialAlgorithm* New();
27  void PrintSelf(ostream& os, vtkIndent indent) override;
28 
30 
33  vtkGetVector3Macro(KernelSize, int);
35 
37 
40  vtkGetVector3Macro(KernelMiddle, int);
42 
43 protected:
45  ~vtkImageSpatialAlgorithm() override = default;
46 
47  int KernelSize[3];
48  int KernelMiddle[3]; // Index of kernel origin
49  int HandleBoundaries; // Output shrinks if boundaries aren't handled
50 
52 
53  void ComputeOutputWholeExtent(int extent[6], int handleBoundaries);
55  void InternalRequestUpdateExtent(int* extent, int* inExtent, int* wholeExtent);
56 
57 private:
59  void operator=(const vtkImageSpatialAlgorithm&) = delete;
60 };
61 
62 VTK_ABI_NAMESPACE_END
63 #endif
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.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Subclasses can reimplement this method to collect information from their inputs and set information f...
Filters that operate on pixel neighborhoods.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.