VTK
vtkGenericAttributeCollection.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGenericAttributeCollection.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 =========================================================================*/
26 #ifndef vtkGenericAttributeCollection_h
27 #define vtkGenericAttributeCollection_h
28 
29 #include "vtkCommonDataModelModule.h" // For export macro
30 #include "vtkObject.h"
31 
32 class vtkGenericAttributeInternalVector;
33 class vtkIntInternalVector;
35 
36 class VTKCOMMONDATAMODEL_EXPORT vtkGenericAttributeCollection : public vtkObject
37 {
38 public:
43 
45 
49  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
51 
58 
65 
72 
79 
85  unsigned long GetActualMemorySize();
86 
91  int IsEmpty();
92 
100 
107  int FindAttribute(const char *name);
108 
115  int GetAttributeIndex(int i);
116 
124 
134 
141  void RemoveAttribute(int i);
142 
147  void Reset();
148 
156 
164 
169  vtkMTimeType GetMTime() VTK_OVERRIDE;
170 
171  // *** ALL THE FOLLOWING METHODS SHOULD BE REMOVED WHEN when the
172  // new pipeline update mechanism is checked in.
173  // *** BEGIN
174 
176 
181  vtkGetMacro(ActiveAttribute, int);
183 
185 
191  vtkGetMacro(ActiveComponent, int);
193 
203  void SetActiveAttribute(int attribute, int component = 0);
204 
206 
211  vtkGetMacro(NumberOfAttributesToInterpolate, int);
213 
219  int *GetAttributesToInterpolate();
220 
226  int HasAttribute(int size, int *attributes, int attribute);
227 
229 
239  void SetAttributesToInterpolate(int size, int *attributes);
240  void SetAttributesToInterpolateToAll();
242 
243 protected:
248 
253 
257  vtkGenericAttributeInternalVector* AttributeInternalVector;
261  vtkIntInternalVector *AttributeIndices;
262 
263  int ActiveAttribute;
264  int ActiveComponent;
265  int NumberOfAttributesToInterpolate;
266  int AttributesToInterpolate[10];
267 
268  int NumberOfComponents; // cache
269  int NumberOfPointCenteredComponents; // cache
270  int MaxNumberOfComponents; // cache
271  unsigned long ActualMemorySize; // cache
272  vtkTimeStamp ComputeTime; // cache time stamp
273 
278  void ComputeNumbers();
279 
280 private:
282  void operator=(const vtkGenericAttributeCollection &) VTK_DELETE_FUNCTION;
283 };
284 #endif
void ShallowCopy(vtkGenericAttributeCollection *other)
Copy, via reference counting, the other attribute array.
void RemoveAttribute(int i)
Remove the attribute at ‘i’.
int GetNumberOfPointCenteredComponents()
Return the number of components.
int GetNumberOfComponents()
Return the number of components.
void InsertNextAttribute(vtkGenericAttribute *a)
Add the attribute ‘a’ to the end of the collection.
int IsEmpty()
Indicate whether the collection contains any attributes.
void DeepCopy(vtkGenericAttributeCollection *other)
Copy, without reference counting, the other attribute array.
int FindAttribute(const char *name)
Return the index of the attribute named ‘name’.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGenericAttribute * GetAttribute(int i)
Return a pointer to the ith instance of vtkGenericAttribute.
static vtkGenericAttributeCollection * New()
Create an empty collection.
vtkMTimeType GetMTime() override
vtkAttributeCollection is a composite object and needs to check each member of its collection for mod...
unsigned long GetActualMemorySize()
Actual size of the data in kibibytes (1024 bytes); only valid after the pipeline has updated.
int GetNumberOfAttributes()
Return the number of attributes (e.g., instances of vtkGenericAttribute) in the collection.
int GetAttributeIndex(int i)
Return the index of the first component of attribute ‘i’ in an array of format attrib0comp0 attrib0co...
void Reset()
Remove all attributes.
int GetMaxNumberOfComponents()
Maximum number of components encountered among all attributes.
void InsertAttribute(int i, vtkGenericAttribute *a)
Replace the attribute at index ‘i’ by ‘a’.
abstract class defined API for attribute data
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
record modification and/or execution time
Definition: vtkTimeStamp.h:36
@ component
Definition: vtkX3D.h:175
@ name
Definition: vtkX3D.h:219
@ size
Definition: vtkX3D.h:253
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248