VTK  9.4.20250421
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
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
129 int ProcessTrees(vtkHyperTreeGrid*, vtkDataObject*) override;
130
131private:
133 void operator=(const vtkHyperTreeGridGenerateFields&) = delete;
134
139 void ProcessFields(
140 vtkHyperTreeGrid* outputHTG, vtkHyperTreeGrid* input, vtkDataObject::AttributeTypes type);
141
145 void ProcessNode(vtkHyperTreeGridNonOrientedGeometryCursor* cursor,
146 vtkDataObject::AttributeTypes type, vtkCellData* outputCellData);
147
148 // Cell Data
149 std::string DefaultCellSizeArrayName = "CellSize";
150 std::string DefaultValidCellArrayName = "ValidCell";
151 std::string DefaultCellCenterArrayName = "CellCenter";
152
153 // Field Data
154 std::string DefaultTotalVisibleVolumeArrayName = "TotalVisibleVolume";
155
156 std::unordered_map<std::string, vtkHyperTreeGridGenerateFieldStrategy::Field> Fields;
157};
158
159VTK_ABI_NAMESPACE_END
160#endif
represent and manipulate cell attribute data
general representation of visualization data
Superclass for algorithms that produce a hyper tree grid as output.
Abstract class for field definition used by vtkHyperTreeGridGenerateFields.
virtual bool GetComputeCellSizeArray() VTK_FUTURE_CONST
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.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a simple class to control print indentation
Definition vtkIndent.h:108