VTK
vtkGenericAttribute.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkGenericAttribute.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=========================================================================*/
33#ifndef vtkGenericAttribute_h
34#define vtkGenericAttribute_h
35
36#include "vtkCommonDataModelModule.h" // For export macro
37#include "vtkObject.h"
38
42
43enum
44{
48};
49
50class VTKCOMMONDATAMODEL_EXPORT vtkGenericAttribute : public vtkObject
51{
52 public:
54 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
55
60 virtual const char *GetName() = 0;
61
69 virtual int GetNumberOfComponents() = 0;
70
75 virtual int GetCentering() = 0;
76
85 virtual int GetType()=0;
86
96 virtual int GetComponentType() = 0;
97
102 virtual vtkIdType GetSize() = 0;
103
107 virtual unsigned long GetActualMemorySize() = 0;
108
117 virtual double *GetRange(int component=0) = 0;
118
125 virtual void GetRange(int component,
126 double range[2]) = 0;
127
132 virtual double GetMaxNorm()=0;
133
141 virtual double *GetTuple(vtkGenericAdaptorCell *c) = 0;
142
150 virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple) = 0;
151
159 virtual double *GetTuple(vtkGenericCellIterator *c) = 0;
160
168 virtual void GetTuple(vtkGenericCellIterator *c, double *tuple) = 0;
169
177 virtual double *GetTuple(vtkGenericPointIterator *p) = 0;
178
186 virtual void GetTuple(vtkGenericPointIterator *p, double *tuple) = 0;
187
196 virtual void GetComponent(int i,vtkGenericCellIterator *c, double *values) = 0;
197
204 virtual double GetComponent(int i,vtkGenericPointIterator *p) = 0;
205
211 virtual void DeepCopy(vtkGenericAttribute *other) = 0;
212
218 virtual void ShallowCopy(vtkGenericAttribute *other) = 0;
219
220protected:
222 ~vtkGenericAttribute() VTK_OVERRIDE;
223
224private:
225 vtkGenericAttribute(const vtkGenericAttribute&) VTK_DELETE_FUNCTION;
226 void operator=(const vtkGenericAttribute&) VTK_DELETE_FUNCTION;
227};
228
229#endif
defines cell interface
abstract class defined API for attribute data
virtual void GetRange(int component, double range[2])=0
Range of the attribute component ‘component’.
virtual void GetTuple(vtkGenericPointIterator *p, double *tuple)=0
Put the value of the attribute at position ‘p’ into ‘tuple’.
virtual const char * GetName()=0
Name of the attribute.
virtual int GetNumberOfComponents()=0
Dimension of the attribute.
virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple)=0
Put attribute at all points of cell ‘c’ in ‘tuple’.
virtual double * GetTuple(vtkGenericCellIterator *c)=0
Attribute at all points of cell ‘c’.
virtual double * GetTuple(vtkGenericPointIterator *p)=0
Value of the attribute at position ‘p’.
virtual int GetCentering()=0
Is the attribute centered either on points, cells or boundaries?
~vtkGenericAttribute() override
virtual double * GetRange(int component=0)=0
Range of the attribute component ‘component’.
virtual unsigned long GetActualMemorySize()=0
Size in kibibytes (1024 bytes) taken by the attribute.
virtual double GetMaxNorm()=0
Return the maximum euclidean norm for the tuples.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int GetType()=0
Type of the attribute: scalar, vector, normal, texture coordinate, tensor.
virtual void GetComponent(int i, vtkGenericCellIterator *c, double *values)=0
Put component ‘i’ of the attribute at all points of cell ‘c’ in ‘values’.
virtual int GetComponentType()=0
Type of the components of the attribute: int, float, double.
virtual void DeepCopy(vtkGenericAttribute *other)=0
Recursive duplication of ‘other’ in ‘this’.
virtual void GetTuple(vtkGenericCellIterator *c, double *tuple)=0
Put attribute at all points of cell ‘c’ in ‘tuple’.
virtual double GetComponent(int i, vtkGenericPointIterator *p)=0
Value of the component ‘i’ of the attribute at position ‘p’.
virtual void ShallowCopy(vtkGenericAttribute *other)=0
Update ‘this’ using fields of ‘other’.
virtual double * GetTuple(vtkGenericAdaptorCell *c)=0
Attribute at all points of cell ‘c’.
virtual vtkIdType GetSize()=0
Number of tuples.
iterator used to traverse cells
iterator used to traverse points
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
@ component
Definition: vtkX3D.h:175
@ range
Definition: vtkX3D.h:238
@ vtkBoundaryCentered
@ vtkCellCentered
@ vtkPointCentered
int vtkIdType
Definition: vtkType.h:287