vtkPVGradientFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
19 #ifndef vtkPVGradientFilter_h
20 #define vtkPVGradientFilter_h
21 
22 #include "vtkGradientFilter.h"
23 #include "vtkHyperTreeGridGradient.h" // for the HTG::ComputeMode enum
24 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" //needed for exports
25 
27 {
28 public:
29  static vtkPVGradientFilter* New();
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
41  {
42  SMOOTHED = 0,
44  };
45 
47 
53  vtkSetClampMacro(Dimensionality, int, 2, 3);
54  vtkGetMacro(Dimensionality, int);
56 
58 
64  vtkSetClampMacro(BoundaryMethod, int, SMOOTHED, NON_SMOOTHED);
65  vtkGetMacro(BoundaryMethod, int);
67 
69 
78  vtkSetClampMacro(
79  HTGMode, int, vtkHyperTreeGridGradient::UNLIMITED, vtkHyperTreeGridGradient::UNSTRUCTURED);
80  vtkGetMacro(HTGMode, int);
82 
84 
91  vtkSetMacro(HTGExtensiveComputation, bool);
92  vtkGetMacro(HTGExtensiveComputation, bool);
93  vtkBooleanMacro(HTGExtensiveComputation, bool);
95 
96 protected:
97  vtkPVGradientFilter() = default;
98  ~vtkPVGradientFilter() override = default;
99 
100  int Dimensionality = 3;
101  int BoundaryMethod = NON_SMOOTHED;
102 
103  int HTGMode = vtkHyperTreeGridGradient::UNLIMITED;
104 
105  bool HTGExtensiveComputation = false;
106 
107  int FillInputPortInformation(int port, vtkInformation* info) override;
108  int FillOutputPortInformation(int port, vtkInformation* info) override;
109  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
110  vtkInformationVector* outputVector) override;
112 
113 private:
114  vtkPVGradientFilter(const vtkPVGradientFilter&) = delete;
115  void operator=(const vtkPVGradientFilter&) = delete;
116 };
117 
118 #endif
virtual int FillInputPortInformation(int port, vtkInformation *info)
static vtkGradientFilter * New()
BoundaryMethod
Possible values for gradient computation at boundaries for vtkImageData:
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual void PrintSelf(ostream &os, vtkIndent indent)
#define VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT
Filter to unify gradient implementations for different types.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void operator=(const vtkObjectBase &)
virtual int FillOutputPortInformation(int port, vtkInformation *info)