VTK  9.7.1
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 
31 VTK_ABI_NAMESPACE_BEGIN
32 class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkArrayRename : public vtkPassInputTypeAlgorithm
33 {
34 public:
35  static vtkArrayRename* New();
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
42 
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 
74  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 
100  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 
126  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 
152  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 
178  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 
204  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 
227 protected:
228  vtkArrayRename() = default;
229  ~vtkArrayRename() override = default;
230 
232 
233  int FillInputPortInformation(int port, vtkInformation* info) override;
234 
235 private:
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 
242 VTK_ABI_NAMESPACE_END
243 #endif // vtkArrayRename_h
const char * GetCellArrayOriginalName(int idx)
Get / Set array name mapping for CellData.
void SetVertexArrayName(int idx, const char *newName)
Get / Set array name mapping for VertexData.
Superclass for algorithms that produce output of the same type as input.
void SetCellArrayName(int idx, const char *newName)
Get / Set array name mapping for CellData.
Store vtkAlgorithm input/output information.
void ClearCellMapping()
Get / Set array name mapping for CellData.
void SetVertexArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for VertexData.
const char * GetRowArrayOriginalName(int idx)
Get / Set array name mapping for RowData.
void SetEdgeArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for EdgeData.
void SetCellArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for CellData.
const char * GetVertexArrayNewName(int idx)
Get / Set array name mapping for VertexData.
const char * GetEdgeArrayOriginalName(int idx)
Get / Set array name mapping for EdgeData.
const char * GetPointArrayNewName(int idx)
Get / Set array name mapping for PointData.
void ClearRowMapping()
Get / Set array name mapping for RowData.
void SetFieldArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for FieldData.
a simple class to control print indentation
Definition: vtkIndent.h:28
Rename data arrays.
const char * GetVertexArrayOriginalName(int idx)
Get / Set array name mapping for VertexData.
void SetPointArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for PointData.
void SetRowArrayName(const char *inputName, const char *newName)
Get / Set array name mapping for RowData.
void SetPointArrayName(int idx, const char *newName)
Get / Set array name mapping for PointData.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void ClearVertexMapping()
Get / Set array name mapping for VertexData.
void ClearFieldMapping()
Get / Set array name mapping for FieldData.
const char * GetCellArrayNewName(int idx)
Get / Set array name mapping for CellData.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const char * GetRowArrayNewName(int idx)
Get / Set array name mapping for RowData.
void SetRowArrayName(int idx, const char *newName)
Get / Set array name mapping for RowData.
const char * GetPointArrayOriginalName(int idx)
Get / Set array name mapping for PointData.
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
const char * GetFieldArrayNewName(int idx)
Get / Set array name mapping for FieldData.
void ClearPointMapping()
Get / Set array name mapping for PointData.
const char * GetFieldArrayOriginalName(int idx)
Get / Set array name mapping for FieldData.
void SetEdgeArrayName(int idx, const char *newName)
Get / Set array name mapping for EdgeData.
void ClearEdgeMapping()
Get / Set array name mapping for EdgeData.
const char * GetEdgeArrayNewName(int idx)
Get / Set array name mapping for EdgeData.
void SetFieldArrayName(int idx, const char *newName)
Get / Set array name mapping for FieldData.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkPassInputTypeAlgorithm * New()