VTK: Filters/Reduction/vtkToImplicitArrayFilter.h Source File

| VTK 9.3.1

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
8 #include "vtkPassInputTypeAlgorithm.h"
9
10 #include <memory>
11
12 VTK_ABI_NAMESPACE_BEGIN
13
40 class vtkDataArraySelection;
41 class vtkToImplicitStrategy;
42 class VTKFILTERSREDUCTION_EXPORT vtkToImplicitArrayFilter : public vtkPassInputTypeAlgorithm
43 {
44 public:
45 static vtkToImplicitArrayFilter* New();
46 vtkTypeMacro(vtkToImplicitArrayFilter, vtkPassInputTypeAlgorithm);
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
88 void SetStrategy(vtkToImplicitStrategy*);
89 const vtkToImplicitStrategy* GetStrategy() const;
91
93
96 vtkDataArraySelection* GetArraySelection(int association);
97 vtkDataArraySelection* GetPointDataArraySelection();
98 vtkDataArraySelection* GetCellDataArraySelection();
99 vtkDataArraySelection* GetFieldDataArraySelection();
100 vtkDataArraySelection* GetPointsThenCellsDataArraySelection();
101 vtkDataArraySelection* GetVertexDataArraySelection();
102 vtkDataArraySelection* GetEdgeDataArraySelection();
103 vtkDataArraySelection* GetRowDataArraySelection();
105
106 protected:
107 vtkToImplicitArrayFilter();
108 ~vtkToImplicitArrayFilter() override;
109
110 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
111
112 bool UseMaxNumberOfDegreesOfFreedom = false;
113 std::size_t MaxNumberOfDegreesOfFreedom = 100;
114
115 double TargetReduction = 0.1;
116
117 private:
118 vtkToImplicitArrayFilter(const vtkToImplicitArrayFilter&) = delete;
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
vtkDataArraySelection
Store on/off settings for data arrays, etc.
Definition: vtkDataArraySelection.h:37
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkPassInputTypeAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkPassInputTypeAlgorithm.h:45
vtkToImplicitArrayFilter
A VTK filter for compressing explicit memory arrays into implicit arrays.
Definition: vtkToImplicitArrayFilter.h:43
vtkToImplicitArrayFilter::vtkToImplicitArrayFilter
vtkToImplicitArrayFilter()
vtkToImplicitArrayFilter::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
vtkToImplicitArrayFilter::New
static vtkToImplicitArrayFilter * New()
vtkToImplicitArrayFilter::GetVertexDataArraySelection
vtkDataArraySelection * GetVertexDataArraySelection()
Methods for managing array selections.
vtkToImplicitArrayFilter::SetStrategy
void SetStrategy(vtkToImplicitStrategy *)
Setter/Getter for strategy.
vtkToImplicitArrayFilter::~vtkToImplicitArrayFilter
~vtkToImplicitArrayFilter() override
vtkToImplicitArrayFilter::GetFieldDataArraySelection
vtkDataArraySelection * GetFieldDataArraySelection()
Methods for managing array selections.
vtkToImplicitArrayFilter::GetArraySelection
vtkDataArraySelection * GetArraySelection(int association)
Methods for managing array selections.
vtkToImplicitArrayFilter::PrintSelf
void PrintSelf(std::ostream &os, vtkIndent indent) override
vtkToImplicitArrayFilter::GetPointsThenCellsDataArraySelection
vtkDataArraySelection * GetPointsThenCellsDataArraySelection()
Methods for managing array selections.
vtkToImplicitArrayFilter::GetRowDataArraySelection
vtkDataArraySelection * GetRowDataArraySelection()
Methods for managing array selections.
vtkToImplicitArrayFilter::GetPointDataArraySelection
vtkDataArraySelection * GetPointDataArraySelection()
Methods for managing array selections.
vtkToImplicitArrayFilter::GetCellDataArraySelection
vtkDataArraySelection * GetCellDataArraySelection()
Methods for managing array selections.
vtkToImplicitArrayFilter::GetStrategy
const vtkToImplicitStrategy * GetStrategy() const
Setter/Getter for strategy.
vtkToImplicitArrayFilter::GetEdgeDataArraySelection
vtkDataArraySelection * GetEdgeDataArraySelection()
Methods for managing array selections.
vtkToImplicitStrategy
Pure interface for strategies to transform explicit arrays into implicit arrays.
Definition: vtkToImplicitStrategy.h:20
vtkPassInputTypeAlgorithm.h