vtkPVDataSetAttributesInformation.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
14 #ifndef vtkPVDataSetAttributesInformation_h
15 #define vtkPVDataSetAttributesInformation_h
16 
17 #include "vtkObject.h"
18 #include "vtkRemotingCoreModule.h" //needed for exports
19 
20 #include <memory> // For std::unique_ptr
21 #include <string> // For std::string
22 
24 class vtkDataObject;
26 
28 {
29 public:
37  {
38  public:
41 
42  void GoToFirstItem();
43  void GoToNextItem();
44  bool IsDoneWithTraversal() const;
45  vtkPVArrayInformation* GetCurrentArrayInformation();
46 
47  private:
48  struct vtkInternals;
49  std::unique_ptr<vtkInternals> Internals;
50  };
51 
54  void PrintSelf(ostream& os, vtkIndent indent) override;
55 
57 
65  vtkGetMacro(FieldAssociation, int);
66  vtkGetStringMacro(FieldName);
68 
72  void Initialize();
73 
77  int GetNumberOfArrays() const;
78 
82  int GetMaximumNumberOfTuples() const;
83 
85 
89  vtkPVArrayInformation* GetArrayInformation(int idx) const;
90  vtkPVArrayInformation* GetArrayInformation(const char* name) const;
92 
97  vtkPVArrayInformation* GetAttributeInformation(int attributeType);
98 
103  int IsArrayAnAttribute(int arrayIndex);
104 
111  AlphabeticalArrayInformationIterator* NewAlphabeticalArrayInformationIterator();
112 
113 protected:
116 
117  friend class vtkPVDataInformation;
118  friend class vtkPVDataInformationAccumulator;
119 
121 
124  vtkSetMacro(FieldAssociation, int);
125  vtkSetStringMacro(FieldName);
127 
129 
132  void CopyToStream(vtkClientServerStream*);
133  void CopyFromStream(const vtkClientServerStream*);
135 
139  void AddInformation(vtkPVDataSetAttributesInformation*);
140 
145 
149  void CopyFromDataObject(vtkDataObject* dobj);
150 
155  void MarkArraysAsGlobal();
156 
157 private:
159  void operator=(const vtkPVDataSetAttributesInformation&) = delete;
160 
161  int FieldAssociation;
162  char* FieldName;
163 
164  class vtkInternals;
165  vtkInternals* Internals;
166 };
167 
168 #endif
provides meta data about a vtkDataObject subclass.
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
Iterator over a vtkPVDataSetAttributesInformation&#39;s arrays; yielding their vtkPVArrayInformation.
Store messages for the interpreter.
source
#define VTKREMOTINGCORE_EXPORT
provides meta data about arrays.