VTK  9.0.1
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 =========================================================================*/
30 #ifndef vtkGenericAttribute_h
31 #define vtkGenericAttribute_h
32 
33 #include "vtkCommonDataModelModule.h" // For export macro
34 #include "vtkObject.h"
35 
39 
40 enum
41 {
45 };
46 
47 class VTKCOMMONDATAMODEL_EXPORT vtkGenericAttribute : public vtkObject
48 {
49 public:
51  void PrintSelf(ostream& os, vtkIndent indent) override;
52 
57  virtual const char* GetName() = 0;
58 
66  virtual int GetNumberOfComponents() = 0;
67 
72  virtual int GetCentering() = 0;
73 
82  virtual int GetType() = 0;
83 
93  virtual int GetComponentType() = 0;
94 
99  virtual vtkIdType GetSize() = 0;
100 
104  virtual unsigned long GetActualMemorySize() = 0;
105 
114  virtual double* GetRange(int component = 0) = 0;
115 
122  virtual void GetRange(int component, double range[2]) = 0;
123 
128  virtual double GetMaxNorm() = 0;
129 
137  virtual double* GetTuple(vtkGenericAdaptorCell* c) = 0;
138 
146  virtual void GetTuple(vtkGenericAdaptorCell* c, double* tuple) = 0;
147 
155  virtual double* GetTuple(vtkGenericCellIterator* c) = 0;
156 
164  virtual void GetTuple(vtkGenericCellIterator* c, double* tuple) = 0;
165 
173  virtual double* GetTuple(vtkGenericPointIterator* p) = 0;
174 
182  virtual void GetTuple(vtkGenericPointIterator* p, double* tuple) = 0;
183 
192  virtual void GetComponent(int i, vtkGenericCellIterator* c, double* values) = 0;
193 
200  virtual double GetComponent(int i, vtkGenericPointIterator* p) = 0;
201 
207  virtual void DeepCopy(vtkGenericAttribute* other) = 0;
208 
214  virtual void ShallowCopy(vtkGenericAttribute* other) = 0;
215 
216 protected:
219 
220 private:
221  vtkGenericAttribute(const vtkGenericAttribute&) = delete;
222  void operator=(const vtkGenericAttribute&) = delete;
223 };
224 
225 #endif
vtkGenericAttribute::GetName
virtual const char * GetName()=0
Name of the attribute.
vtkGenericPointIterator
iterator used to traverse points
Definition: vtkGenericPointIterator.h:40
vtkCellCentered
@ vtkCellCentered
Definition: vtkGenericAttribute.h:43
vtkBoundaryCentered
@ vtkBoundaryCentered
Definition: vtkGenericAttribute.h:44
vtkGenericAttribute::ShallowCopy
virtual void ShallowCopy(vtkGenericAttribute *other)=0
Update ‘this’ using fields of ‘other’.
vtkX3D::component
@ component
Definition: vtkX3D.h:181
vtkGenericAttribute::GetCentering
virtual int GetCentering()=0
Is the attribute centered either on points, cells or boundaries?
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkGenericAttribute::GetComponent
virtual void GetComponent(int i, vtkGenericCellIterator *c, double *values)=0
Put component ‘i’ of the attribute at all points of cell ‘c’ in ‘values’.
vtkGenericAttribute::GetRange
virtual void GetRange(int component, double range[2])=0
Range of the attribute component ‘component’.
vtkPointCentered
@ vtkPointCentered
Definition: vtkGenericAttribute.h:42
vtkX3D::range
@ range
Definition: vtkX3D.h:244
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:54
vtkGenericAdaptorCell
defines cell interface
Definition: vtkGenericAdaptorCell.h:92
vtkGenericCellIterator
iterator used to traverse cells
Definition: vtkGenericCellIterator.h:42
vtkGenericAttribute::DeepCopy
virtual void DeepCopy(vtkGenericAttribute *other)=0
Recursive duplication of ‘other’ in ‘this’.
vtkGenericAttribute::GetTuple
virtual double * GetTuple(vtkGenericAdaptorCell *c)=0
Attribute at all points of cell ‘c’.
vtkGenericAttribute::GetTuple
virtual void GetTuple(vtkGenericPointIterator *p, double *tuple)=0
Put the value of the attribute at position ‘p’ into ‘tuple’.
vtkGenericAttribute::vtkGenericAttribute
vtkGenericAttribute()
vtkGenericAttribute::GetTuple
virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple)=0
Put attribute at all points of cell ‘c’ in ‘tuple’.
vtkGenericAttribute::GetSize
virtual vtkIdType GetSize()=0
Number of tuples.
vtkGenericAttribute::GetComponent
virtual double GetComponent(int i, vtkGenericPointIterator *p)=0
Value of the component ‘i’ of the attribute at position ‘p’.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkGenericAttribute::GetNumberOfComponents
virtual int GetNumberOfComponents()=0
Dimension of the attribute.
vtkGenericAttribute::GetTuple
virtual double * GetTuple(vtkGenericCellIterator *c)=0
Attribute at all points of cell ‘c’.
vtkObject.h
vtkGenericAttribute::~vtkGenericAttribute
~vtkGenericAttribute() override
vtkGenericAttribute::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGenericAttribute::GetMaxNorm
virtual double GetMaxNorm()=0
Return the maximum euclidean norm for the tuples.
vtkGenericAttribute::GetTuple
virtual double * GetTuple(vtkGenericPointIterator *p)=0
Value of the attribute at position ‘p’.
vtkGenericAttribute::GetTuple
virtual void GetTuple(vtkGenericCellIterator *c, double *tuple)=0
Put attribute at all points of cell ‘c’ in ‘tuple’.
vtkGenericAttribute
abstract class defined API for attribute data
Definition: vtkGenericAttribute.h:48
vtkGenericAttribute::GetRange
virtual double * GetRange(int component=0)=0
Range of the attribute component ‘component’.
vtkGenericAttribute::GetComponentType
virtual int GetComponentType()=0
Type of the components of the attribute: int, float, double.
vtkGenericAttribute::GetActualMemorySize
virtual unsigned long GetActualMemorySize()=0
Size in kibibytes (1024 bytes) taken by the attribute.
vtkGenericAttribute::GetType
virtual int GetType()=0
Type of the attribute: scalar, vector, normal, texture coordinate, tensor.