VTK  9.5.20251124
vtkHyperTreeGridGenerateFields.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
24
25#ifndef vtkHyperTreeGridGenerateFields_h
26#define vtkHyperTreeGridGenerateFields_h
27
28#include "vtkFiltersHyperTreeModule.h" // For export macro
30#include "vtkHyperTreeGridGenerateFieldStrategy.h" // For vtkHyperTreeGridGenerateFieldStrategy
31
32#include <unordered_map>
33
34VTK_ABI_NAMESPACE_BEGIN
35class vtkCellData;
38
39class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridGenerateFields : public vtkHyperTreeGridAlgorithm
40{
41public:
44 void PrintSelf(ostream& os, vtkIndent indent) override;
45
47
51 virtual bool GetComputeCellSizeArray() VTK_FUTURE_CONST;
52 virtual void SetComputeCellSizeArray(bool enable);
53 vtkBooleanMacro(ComputeCellSizeArray, bool);
55
57
61 virtual std::string GetCellSizeArrayName() VTK_FUTURE_CONST;
62 virtual void SetCellSizeArrayName(std::string name);
64
66
70 virtual bool GetComputeValidCellArray() VTK_FUTURE_CONST;
71 virtual void SetComputeValidCellArray(bool enable);
72 vtkBooleanMacro(ComputeValidCellArray, bool);
74
76
80 virtual std::string GetValidCellArrayName() VTK_FUTURE_CONST;
81 virtual void SetValidCellArrayName(std::string name);
83
85
89 virtual bool GetComputeCellCenterArray() VTK_FUTURE_CONST;
90 virtual void SetComputeCellCenterArray(bool enable);
91 vtkBooleanMacro(ComputeCellCenterArray, bool);
93
95
99 virtual std::string GetCellCenterArrayName() VTK_FUTURE_CONST;
100 virtual void SetCellCenterArrayName(std::string name);
102
104
108 virtual bool GetComputeTotalVisibleVolumeArray() VTK_FUTURE_CONST;
109 virtual void SetComputeTotalVisibleVolumeArray(bool enable);
110 vtkBooleanMacro(ComputeTotalVisibleVolumeArray, bool);
112
114
118 virtual std::string GetTotalVisibleVolumeArrayName() VTK_FUTURE_CONST;
119 virtual void SetTotalVisibleVolumeArrayName(std::string name);
121
122protected:
124 ~vtkHyperTreeGridGenerateFields() override = default;
125
130
131private:
133 void operator=(const vtkHyperTreeGridGenerateFields&) = delete;
134
139 void ProcessFields(
140 vtkHyperTreeGrid* outputHTG, vtkHyperTreeGrid* input, vtkDataObject::AttributeTypes type);
141
145 void InitializeFields();
146
150 void ProcessNode(vtkHyperTreeGridNonOrientedGeometryCursor* cursor,
151 vtkDataObject::AttributeTypes type, vtkCellData* outputCellData);
152
153 // Cell Data and field data names
154 std::string CellSizeArrayName = "CellSize";
155 std::string ValidCellArrayName = "ValidCell";
156 std::string CellCenterArrayName = "CellCenter";
157 std::string TotalVisibleVolumeArrayName = "TotalVisibleVolume";
158
159 // Cell Data and field data switches
160 bool ComputeCellSizeArray = true;
161 bool ComputeValidCellArray = true;
162 bool ComputeCellCenterArray = true;
163 bool ComputeTotalVisibleVolumeArray = true;
164
165 std::unordered_map<std::string, vtkHyperTreeGridGenerateFieldStrategy::Field> Fields;
166};
167
168VTK_ABI_NAMESPACE_END
169#endif
represent and manipulate cell attribute data
general representation of visualization data
Abstract class for field definition used by vtkHyperTreeGridGenerateFields.
virtual void SetValidCellArrayName(std::string name)
Get/Set the name used for the cell validity array.
virtual std::string GetCellCenterArrayName() VTK_FUTURE_CONST
Get/Set the name used for the cell center array.
virtual void SetCellSizeArrayName(std::string name)
Get/Set the name used for the cell size array.
virtual bool GetComputeCellSizeArray() VTK_FUTURE_CONST
Enable/disable the computation of the CellSize array.
virtual std::string GetValidCellArrayName() VTK_FUTURE_CONST
Get/Set the name used for the cell validity array.
virtual void SetComputeCellCenterArray(bool enable)
Enable/disable the computation of the CellCenter array.
virtual void SetTotalVisibleVolumeArrayName(std::string name)
Get/Set the name used for the total visible volume array.
int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *) override
Main filter routine : process the HTG cell data and then field data.
virtual void SetComputeCellSizeArray(bool enable)
Enable/disable the computation of the CellSize array.
static vtkHyperTreeGridGenerateFields * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetComputeTotalVisibleVolumeArray(bool enable)
Enable/disable the computation of the TotalVisibleVolume array.
virtual bool GetComputeCellCenterArray() VTK_FUTURE_CONST
Enable/disable the computation of the CellCenter array.
virtual void SetComputeValidCellArray(bool enable)
Enable/disable the computation of the ValidCell array.
virtual bool GetComputeTotalVisibleVolumeArray() VTK_FUTURE_CONST
Enable/disable the computation of the TotalVisibleVolume array.
virtual std::string GetCellSizeArrayName() VTK_FUTURE_CONST
Get/Set the name used for the cell size array.
virtual std::string GetTotalVisibleVolumeArrayName() VTK_FUTURE_CONST
Get/Set the name used for the total visible volume array.
virtual bool GetComputeValidCellArray() VTK_FUTURE_CONST
Enable/disable the computation of the ValidCell array.
virtual void SetCellCenterArrayName(std::string name)
Get/Set the name used for the cell center array.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a simple class to control print indentation
Definition vtkIndent.h:108