VTK  9.3.20240418
vtkImageDecomposeFilter.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
14 #ifndef vtkImageDecomposeFilter_h
15 #define vtkImageDecomposeFilter_h
16 
17 #include "vtkImageIterateFilter.h"
18 #include "vtkImagingCoreModule.h" // For export macro
19 
20 VTK_ABI_NAMESPACE_BEGIN
21 class VTKIMAGINGCORE_EXPORT vtkImageDecomposeFilter : public vtkImageIterateFilter
22 {
23 public:
25 
30  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
34 
38  void SetDimensionality(int dim);
39  vtkGetMacro(Dimensionality, int);
41 
43 
46  void PermuteIncrements(vtkIdType* increments, vtkIdType& inc0, vtkIdType& inc1, vtkIdType& inc2);
47  void PermuteExtent(int* extent, int& min0, int& max0, int& min1, int& max1, int& min2, int& max2);
49 
50 protected:
52  ~vtkImageDecomposeFilter() override = default;
53 
55 
56 private:
58  void operator=(const vtkImageDecomposeFilter&) = delete;
59 };
60 
61 VTK_ABI_NAMESPACE_END
62 #endif
Filters that execute axes in series.
void PermuteIncrements(vtkIdType *increments, vtkIdType &inc0, vtkIdType &inc1, vtkIdType &inc2)
Private methods kept public for template execute functions.
~vtkImageDecomposeFilter() override=default
void SetDimensionality(int dim)
Dimensionality is the number of axes which are considered during execution.
void PermuteExtent(int *extent, int &min0, int &max0, int &min1, int &max1, int &min2, int &max2)
Private methods kept public for template execute functions.
void PrintSelf(ostream &os, vtkIndent indent) override
Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.
Multiple executes per update.
a simple class to control print indentation
Definition: vtkIndent.h:108
@ extent
Definition: vtkX3D.h:345
int vtkIdType
Definition: vtkType.h:315