VTK  9.2.6
vtkDataArraySelection.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkDataArraySelection.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
39#ifndef vtkDataArraySelection_h
40#define vtkDataArraySelection_h
41
42#include "vtkCommonCoreModule.h" // For export macro
43#include "vtkObject.h"
44
45#include <memory> // for std::unique_ptr
46
47class VTKCOMMONCORE_EXPORT vtkDataArraySelection : public vtkObject
48{
49public:
51 void PrintSelf(ostream& os, vtkIndent indent) override;
53
61 void EnableArray(const char* name);
62
70 void DisableArray(const char* name);
71
76 int ArrayIsEnabled(const char* name) const;
77
81 int ArrayExists(const char* name) const;
82
90
98
102 int GetNumberOfArrays() const;
103
108
112 const char* GetArrayName(int index) const;
113
117 int GetArrayIndex(const char* name) const;
118
123 int GetEnabledArrayIndex(const char* name) const;
124
128 int GetArraySetting(int index) const;
129
133 int GetArraySetting(const char* name) const { return this->ArrayIsEnabled(name); }
134
142 void SetArraySetting(const char* name, int setting);
143
150
164 int AddArray(const char* name, bool state = true);
165
171 void RemoveArrayByIndex(int index);
172
178 void RemoveArrayByName(const char* name);
179
181
193 void SetArrays(const char* const* names, int numArrays);
194 void SetArraysWithDefault(const char* const* names, int numArrays, int defaultStatus);
196
203
205
214 void Union(vtkDataArraySelection* other) { this->Union(other, false); }
215 void Union(vtkDataArraySelection* other, bool skipModified);
217
219
224 vtkSetMacro(UnknownArraySetting, int);
225 vtkGetMacro(UnknownArraySetting, int);
227
232 void DeepCopy(const vtkDataArraySelection* other);
233
237 bool IsEqual(const vtkDataArraySelection* other) const;
238
239protected:
242
243private:
245 void operator=(const vtkDataArraySelection&) = delete;
246
247 // Internal implementation details.
248 class vtkInternals;
249 std::unique_ptr<vtkInternals> Internal;
250 int UnknownArraySetting;
251};
252
253#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:40
abstract base class for most VTK objects
Definition vtkObject.h:63