VTK  9.5.20250911
vtkArrayRename.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
19#ifndef vtkArrayRename_h
20#define vtkArrayRename_h
21
22#include "vtkFiltersCoreModule.h" // For export macro
24#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
25
26#include "vtkDataObject.h" // for AttributeTypes enum
27
28#include <map> // for std::map
29#include <string> // for std::string
30
31VTK_ABI_NAMESPACE_BEGIN
32class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkArrayRename : public vtkPassInputTypeAlgorithm
33{
34public:
37 void PrintSelf(ostream& os, vtkIndent indent) override;
38
43
46 int GetNumberOfArrays(int attributeType);
50 const char* GetArrayOriginalName(int attributeType, int idx);
54 const char* GetArrayNewName(int attributeType, int idx);
58 void SetArrayName(int attributeType, int idx, const char* newName);
62 void SetArrayName(int attributeType, const char* inputName, const char* newName);
66 void ClearMapping(int attributeType);
68
75 int GetNumberOfPointArrays() { return this->GetNumberOfArrays(vtkDataObject::POINT); }
76 const char* GetPointArrayOriginalName(int idx)
77 {
78 return this->GetArrayOriginalName(vtkDataObject::POINT, idx);
79 }
80 const char* GetPointArrayNewName(int idx)
81 {
82 return this->GetArrayNewName(vtkDataObject::POINT, idx);
83 }
84 void SetPointArrayName(int idx, const char* newName)
85 {
86 this->SetArrayName(vtkDataObject::POINT, idx, newName);
87 }
88 void SetPointArrayName(const char* inputName, const char* newName)
89 {
90 this->SetArrayName(vtkDataObject::POINT, inputName, newName);
91 }
92 void ClearPointMapping() { this->ClearMapping(vtkDataObject::POINT); }
94
101 int GetNumberOfCellArrays() { return this->GetNumberOfArrays(vtkDataObject::CELL); }
102 const char* GetCellArrayOriginalName(int idx)
103 {
104 return this->GetArrayOriginalName(vtkDataObject::CELL, idx);
105 }
106 const char* GetCellArrayNewName(int idx)
107 {
108 return this->GetArrayNewName(vtkDataObject::CELL, idx);
109 }
110 void SetCellArrayName(int idx, const char* newName)
111 {
112 this->SetArrayName(vtkDataObject::CELL, idx, newName);
113 }
114 void SetCellArrayName(const char* inputName, const char* newName)
115 {
116 this->SetArrayName(vtkDataObject::CELL, inputName, newName);
117 }
118 void ClearCellMapping() { this->ClearMapping(vtkDataObject::CELL); }
120
127 int GetNumberOfFieldArrays() { return this->GetNumberOfArrays(vtkDataObject::FIELD); }
128 const char* GetFieldArrayOriginalName(int idx)
129 {
130 return this->GetArrayOriginalName(vtkDataObject::FIELD, idx);
131 }
132 const char* GetFieldArrayNewName(int idx)
133 {
134 return this->GetArrayNewName(vtkDataObject::FIELD, idx);
135 }
136 void SetFieldArrayName(int idx, const char* newName)
137 {
138 this->SetArrayName(vtkDataObject::FIELD, idx, newName);
139 }
140 void SetFieldArrayName(const char* inputName, const char* newName)
141 {
142 this->SetArrayName(vtkDataObject::FIELD, inputName, newName);
143 }
144 void ClearFieldMapping() { this->ClearMapping(vtkDataObject::FIELD); }
146
153 int GetNumberOfVertexArrays() { return this->GetNumberOfArrays(vtkDataObject::VERTEX); }
154 const char* GetVertexArrayOriginalName(int idx)
155 {
156 return this->GetArrayOriginalName(vtkDataObject::VERTEX, idx);
157 }
158 const char* GetVertexArrayNewName(int idx)
159 {
160 return this->GetArrayNewName(vtkDataObject::VERTEX, idx);
161 }
162 void SetVertexArrayName(int idx, const char* newName)
163 {
164 this->SetArrayName(vtkDataObject::VERTEX, idx, newName);
165 }
166 void SetVertexArrayName(const char* inputName, const char* newName)
167 {
168 this->SetArrayName(vtkDataObject::VERTEX, inputName, newName);
169 }
170 void ClearVertexMapping() { this->ClearMapping(vtkDataObject::VERTEX); }
172
179 int GetNumberOfEdgeArrays() { return this->GetNumberOfArrays(vtkDataObject::EDGE); }
180 const char* GetEdgeArrayOriginalName(int idx)
181 {
182 return this->GetArrayOriginalName(vtkDataObject::EDGE, idx);
183 }
184 const char* GetEdgeArrayNewName(int idx)
185 {
186 return this->GetArrayNewName(vtkDataObject::EDGE, idx);
187 }
188 void SetEdgeArrayName(int idx, const char* newName)
189 {
190 this->SetArrayName(vtkDataObject::EDGE, idx, newName);
191 }
192 void SetEdgeArrayName(const char* inputName, const char* newName)
193 {
194 this->SetArrayName(vtkDataObject::EDGE, inputName, newName);
195 }
196 void ClearEdgeMapping() { this->ClearMapping(vtkDataObject::EDGE); }
198
205 int GetNumberOfRowArrays() { return this->GetNumberOfArrays(vtkDataObject::ROW); }
206 const char* GetRowArrayOriginalName(int idx)
207 {
208 return this->GetArrayOriginalName(vtkDataObject::ROW, idx);
209 }
210 const char* GetRowArrayNewName(int idx) { return this->GetArrayNewName(vtkDataObject::ROW, idx); }
211 void SetRowArrayName(int idx, const char* newName)
212 {
213 this->SetArrayName(vtkDataObject::ROW, idx, newName);
214 }
215 void SetRowArrayName(const char* inputName, const char* newName)
216 {
217 this->SetArrayName(vtkDataObject::ROW, inputName, newName);
218 }
219 void ClearRowMapping() { this->ClearMapping(vtkDataObject::ROW); }
221
225 void ClearAll();
226
227protected:
228 vtkArrayRename() = default;
229 ~vtkArrayRename() override = default;
230
232
233 int FillInputPortInformation(int port, vtkInformation* info) override;
234
235private:
236 vtkArrayRename(const vtkArrayRename&) = delete;
237 void operator=(const vtkArrayRename&) = delete;
238
239 std::map<int, std::map<std::string, std::string>> ArrayMapping;
240};
241
242VTK_ABI_NAMESPACE_END
243#endif // vtkArrayRename_h
Rename data arrays.
void SetArrayName(int attributeType, int idx, const char *newName)
Set the new array name from idx in attributeType field data.
void SetPointArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for PointData.
void ClearPointMapping()
Get / Set array name mapping for PointData.
int GetNumberOfVertexArrays()
Get / Set array name mapping for VertexData.
const char * GetEdgeArrayOriginalName(int idx)
Get / Set array name mapping for EdgeData.
~vtkArrayRename() override=default
void ClearRowMapping()
Get / Set array name mapping for RowData.
const char * GetPointArrayOriginalName(int idx)
Get / Set array name mapping for PointData.
void SetArrayName(int attributeType, const char *inputName, const char *newName)
Set the new array name from inputName in attributeType field data.
void ClearCellMapping()
Get / Set array name mapping for CellData.
int GetNumberOfArrays(int attributeType)
Set / Get array name mapping for specified attribute type.
void SetVertexArrayName(int idx, const char *newName)
Get / Set array name mapping for VertexData.
const char * GetVertexArrayOriginalName(int idx)
Get / Set array name mapping for VertexData.
void ClearFieldMapping()
Get / Set array name mapping for FieldData.
void SetEdgeArrayName(int idx, const char *newName)
Get / Set array name mapping for EdgeData.
int GetNumberOfEdgeArrays()
Get / Set array name mapping for EdgeData.
const char * GetRowArrayNewName(int idx)
Get / Set array name mapping for RowData.
const char * GetRowArrayOriginalName(int idx)
Get / Set array name mapping for RowData.
void SetVertexArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for VertexData.
void SetEdgeArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for EdgeData.
int GetNumberOfFieldArrays()
Get / Set array name mapping for FieldData.
const char * GetEdgeArrayNewName(int idx)
Get / Set array name mapping for EdgeData.
vtkArrayRename()=default
void SetPointArrayName(int idx, const char *newName)
Get / Set array name mapping for PointData.
void SetFieldArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for FieldData.
const char * GetPointArrayNewName(int idx)
Get / Set array name mapping for PointData.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int GetNumberOfRowArrays()
Get / Set array name mapping for RowData.
const char * GetCellArrayOriginalName(int idx)
Get / Set array name mapping for CellData.
const char * GetCellArrayNewName(int idx)
Get / Set array name mapping for CellData.
int GetNumberOfCellArrays()
Get / Set array name mapping for CellData.
void ClearVertexMapping()
Get / Set array name mapping for VertexData.
const char * GetFieldArrayNewName(int idx)
Get / Set array name mapping for FieldData.
const char * GetArrayOriginalName(int attributeType, int idx)
Get the input array name from idx in attributeType field data.
void ClearMapping(int attributeType)
Clear mapping for the specified attribute type.
void SetRowArrayName(int idx, const char *newName)
Get / Set array name mapping for RowData.
void SetCellArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for CellData.
void ClearEdgeMapping()
Get / Set array name mapping for EdgeData.
int GetNumberOfPointArrays()
Get / Set array name mapping for PointData.
const char * GetArrayNewName(int attributeType, int idx)
Get the new array name from idx in attributeType field data.
const char * GetFieldArrayOriginalName(int idx)
Get / Set array name mapping for FieldData.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void ClearAll()
Clear name mappings for all attribute types.
const char * GetVertexArrayNewName(int idx)
Get / Set array name mapping for VertexData.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
void SetCellArrayName(int idx, const char *newName)
Get / Set array name mapping for CellData.
void SetFieldArrayName(int idx, const char *newName)
Get / Set array name mapping for FieldData.
static vtkArrayRename * New()
void SetRowArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for RowData.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.
#define VTK_MARSHALAUTO