VTK  9.2.6
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=========================================================================*/
22
23#ifndef vtkGenericAttributeCollection_h
24#define vtkGenericAttributeCollection_h
25
26#include "vtkCommonDataModelModule.h" // For export macro
27#include "vtkObject.h"
28
29class vtkGenericAttributeInternalVector;
30class vtkIntInternalVector;
32
33class VTKCOMMONDATAMODEL_EXPORT vtkGenericAttributeCollection : public vtkObject
34{
35public:
40
42
46 void PrintSelf(ostream& os, vtkIndent indent) override;
48
55
62
69
76
82 unsigned long GetActualMemorySize();
83
88 int IsEmpty();
89
97
104 int FindAttribute(const char* name);
105
113
121
131
138 void RemoveAttribute(int i);
139
144 void Reset();
145
153
161
167
168 // *** ALL THE FOLLOWING METHODS SHOULD BE REMOVED WHEN when the
169 // new pipeline update mechanism is checked in.
170 // *** BEGIN
171
173
178 vtkGetMacro(ActiveAttribute, int);
180
182
188 vtkGetMacro(ActiveComponent, int);
190
200 void SetActiveAttribute(int attribute, int component = 0);
201
203
210
217
223 int HasAttribute(int size, int* attributes, int attribute) VTK_SIZEHINT(attributes, size);
224
226
236 void SetAttributesToInterpolate(int size, int* attributes) VTK_SIZEHINT(attributes, size);
239
240protected:
245
250
254 vtkGenericAttributeInternalVector* AttributeInternalVector;
258 vtkIntInternalVector* AttributeIndices;
259
264
265 int NumberOfComponents; // cache
268 unsigned long ActualMemorySize; // cache
269 vtkTimeStamp ComputeTime; // cache time stamp
270
276
277private:
279 void operator=(const vtkGenericAttributeCollection&) = delete;
280};
281#endif
void ShallowCopy(vtkGenericAttributeCollection *other)
Copy, via reference counting, the other attribute array.
void RemoveAttribute(int i)
Remove the attribute at ‘i’.
static vtkGenericAttributeCollection * New()
Create an empty collection.
void SetAttributesToInterpolateToAll()
Set the attributes to interpolate.
vtkGenericAttributeCollection()
Default constructor: empty collection.
int GetNumberOfPointCenteredComponents()
Return the number of components.
vtkGenericAttributeInternalVector * AttributeInternalVector
STL vector for storing attributes.
int GetNumberOfComponents()
Return the number of components.
void InsertNextAttribute(vtkGenericAttribute *a)
Add the attribute ‘a’ to the end of the collection.
int * GetAttributesToInterpolate()
Indices of attributes to interpolate.
int IsEmpty()
Indicate whether the collection contains any attributes.
void SetAttributesToInterpolate(int size, int *attributes)
Set the attributes to interpolate.
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’.
vtkGenericAttribute * GetAttribute(int i)
Return a pointer to the ith instance of vtkGenericAttribute.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard type definition and print methods for a VTK class.
void SetActiveAttribute(int attribute, int component=0)
Set the scalar attribute to be processed.
virtual int GetNumberOfAttributesToInterpolate()
Number of attributes to interpolate.
void ComputeNumbers()
Compute number of components, max number of components and actual memory size.
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 HasAttribute(int size, int *attributes, int attribute)
Does the array ‘attributes’ of size ‘size’ have ‘attribute’?
int GetMaxNumberOfComponents()
Maximum number of components encountered among all attributes.
vtkIntInternalVector * AttributeIndices
STL vector for storing index of point centered 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:34
record modification and/or execution time
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define VTK_SIZEHINT(...)