VTK  9.3.0
vtkToImplicitArrayFilter.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
3 // Funded by CEA, DAM, DIF, F-91297 Arpajon, France
4 #ifndef vtkToImplicitArrayFilter_h
5 #define vtkToImplicitArrayFilter_h
6 
7 #include "vtkFiltersReductionModule.h" // for module export
9 
10 #include <memory>
11 
12 VTK_ABI_NAMESPACE_BEGIN
13 
42 class VTKFILTERSREDUCTION_EXPORT vtkToImplicitArrayFilter : public vtkPassInputTypeAlgorithm
43 {
44 public:
47  void PrintSelf(std::ostream& os, vtkIndent indent) override;
48 
50 
56  vtkGetMacro(UseMaxNumberOfDegreesOfFreedom, bool);
57  vtkSetMacro(UseMaxNumberOfDegreesOfFreedom, bool);
58  vtkBooleanMacro(UseMaxNumberOfDegreesOfFreedom, bool);
60 
62 
70  vtkGetMacro(MaxNumberOfDegreesOfFreedom, std::size_t);
71  vtkSetMacro(MaxNumberOfDegreesOfFreedom, std::size_t);
73 
75 
80  vtkGetMacro(TargetReduction, double);
81  vtkSetMacro(TargetReduction, double);
83 
85 
91 
93 
105 
106 protected:
109 
111 
112  bool UseMaxNumberOfDegreesOfFreedom = false;
113  std::size_t MaxNumberOfDegreesOfFreedom = 100;
114 
115  double TargetReduction = 0.1;
116 
117 private:
119  void operator=(const vtkToImplicitArrayFilter&) = delete;
120 
121  struct vtkInternals;
122  std::unique_ptr<vtkInternals> Internals;
123 };
124 VTK_ABI_NAMESPACE_END
125 
126 #endif // vtkToImplicitArrayFilter_h
Store on/off settings for data arrays, etc.
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.
A VTK filter for compressing explicit memory arrays into implicit arrays.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkToImplicitArrayFilter * New()
vtkDataArraySelection * GetVertexDataArraySelection()
Methods for managing array selections.
void SetStrategy(vtkToImplicitStrategy *)
Setter/Getter for strategy.
~vtkToImplicitArrayFilter() override
vtkDataArraySelection * GetFieldDataArraySelection()
Methods for managing array selections.
vtkDataArraySelection * GetArraySelection(int association)
Methods for managing array selections.
void PrintSelf(std::ostream &os, vtkIndent indent) override
vtkDataArraySelection * GetPointsThenCellsDataArraySelection()
Methods for managing array selections.
vtkDataArraySelection * GetRowDataArraySelection()
Methods for managing array selections.
vtkDataArraySelection * GetPointDataArraySelection()
Methods for managing array selections.
vtkDataArraySelection * GetCellDataArraySelection()
Methods for managing array selections.
const vtkToImplicitStrategy * GetStrategy() const
Setter/Getter for strategy.
vtkDataArraySelection * GetEdgeDataArraySelection()
Methods for managing array selections.
Pure interface for strategies to transform explicit arrays into implicit arrays.