VTK  9.3.20240423
vtkDataArraySelection.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
27#ifndef vtkDataArraySelection_h
28#define vtkDataArraySelection_h
29
30#include "vtkCommonCoreModule.h" // For export macro
31#include "vtkObject.h"
32
33#include <memory> // for std::unique_ptr
34
35VTK_ABI_NAMESPACE_BEGIN
36class VTKCOMMONCORE_EXPORT vtkDataArraySelection : public vtkObject
37{
38public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
42
50 void EnableArray(const char* name);
51
59 void DisableArray(const char* name);
60
65 int ArrayIsEnabled(const char* name) const;
66
70 int ArrayExists(const char* name) const;
71
79
87
91 int GetNumberOfArrays() const;
92
97
101 const char* GetArrayName(int index) const;
102
106 int GetArrayIndex(const char* name) const;
107
112 int GetEnabledArrayIndex(const char* name) const;
113
117 int GetArraySetting(int index) const;
118
122 int GetArraySetting(const char* name) const { return this->ArrayIsEnabled(name); }
123
131 void SetArraySetting(const char* name, int setting);
132
139
153 int AddArray(const char* name, bool state = true);
154
160 void RemoveArrayByIndex(int index);
161
167 void RemoveArrayByName(const char* name);
168
170
182 void SetArrays(const char* const* names, int numArrays);
183 void SetArraysWithDefault(const char* const* names, int numArrays, int defaultStatus);
185
192
194
203 void Union(vtkDataArraySelection* other) { this->Union(other, false); }
204 void Union(vtkDataArraySelection* other, bool skipModified);
206
208
213 vtkSetMacro(UnknownArraySetting, int);
214 vtkGetMacro(UnknownArraySetting, int);
216
221 void DeepCopy(const vtkDataArraySelection* other);
222
226 bool IsEqual(const vtkDataArraySelection* other) const;
227
228protected:
231
232private:
234 void operator=(const vtkDataArraySelection&) = delete;
235
236 // Internal implementation details.
237 class vtkInternals;
238 std::unique_ptr<vtkInternals> Internal;
239 int UnknownArraySetting;
240};
241
242VTK_ABI_NAMESPACE_END
243#endif
Store on/off settings for data arrays, etc.
void DisableArray(const char *name)
Disable the array with the given name.
void DeepCopy(const vtkDataArraySelection *other)
Copy contents of other.
bool IsEqual(const vtkDataArraySelection *other) const
Returns true if the two array selections are equivalent.
int GetEnabledArrayIndex(const char *name) const
Get the index of an array with the given name among those that are enabled.
void SetArraySetting(const char *name, int setting)
Set array setting given the name.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const char * GetArrayName(int index) const
Get the name of the array entry at the given index.
int GetNumberOfArrays() const
Get the number of arrays that currently have an entry.
void CopySelections(vtkDataArraySelection *selections)
Copy the selections from the given vtkDataArraySelection instance.
static vtkDataArraySelection * New()
int GetNumberOfArraysEnabled() const
Get the number of arrays that are enabled.
void EnableAllArrays()
Enable all arrays that currently have an entry.
void EnableArray(const char *name)
Enable the array with the given name.
int AddArray(const char *name, bool state=true)
Add to the list of arrays that have entries.
int GetArraySetting(int index) const
Get whether the array at the given index is enabled.
void RemoveArrayByIndex(int index)
Remove an array setting given its index.
void SetArraysWithDefault(const char *const *names, int numArrays, int defaultStatus)
Set the list of arrays that have entries.
int ArrayIsEnabled(const char *name) const
Return whether the array with the given name is enabled.
~vtkDataArraySelection() override
void RemoveArrayByName(const char *name)
Remove an array setting given its name.
int ArrayExists(const char *name) const
Return whether the array with the given name exists.
int GetArrayIndex(const char *name) const
Get an index of the array with the given name.
void Union(vtkDataArraySelection *other, bool skipModified)
Update this to include values from other.
void DisableAllArrays()
Disable all arrays that currently have an entry.
void SetArrays(const char *const *names, int numArrays)
Set the list of arrays that have entries.
void Union(vtkDataArraySelection *other)
Update this to include values from other.
void RemoveAllArrays()
Remove all array entries.
int GetArraySetting(const char *name) const
Get whether the array is enabled/disable using its name.
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162