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 =========================================================================*/
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,
123  double range[2]) = 0;
124 
129  virtual double GetMaxNorm()=0;
130 
138  virtual double *GetTuple(vtkGenericAdaptorCell *c) = 0;
139 
147  virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple) = 0;
148 
156  virtual double *GetTuple(vtkGenericCellIterator *c) = 0;
157 
165  virtual void GetTuple(vtkGenericCellIterator *c, double *tuple) = 0;
166 
174  virtual double *GetTuple(vtkGenericPointIterator *p) = 0;
175 
183  virtual void GetTuple(vtkGenericPointIterator *p, double *tuple) = 0;
184 
193  virtual void GetComponent(int i,vtkGenericCellIterator *c, double *values) = 0;
194 
201  virtual double GetComponent(int i,vtkGenericPointIterator *p) = 0;
202 
208  virtual void DeepCopy(vtkGenericAttribute *other) = 0;
209 
215  virtual void ShallowCopy(vtkGenericAttribute *other) = 0;
216 
217 protected:
219  ~vtkGenericAttribute() override;
220 
221 private:
222  vtkGenericAttribute(const vtkGenericAttribute&) = delete;
223  void operator=(const vtkGenericAttribute&) = delete;
224 };
225 
226 #endif
vtkGenericPointIterator
iterator used to traverse points
Definition: vtkGenericPointIterator.h:39
vtkX3D::component
Definition: vtkX3D.h:175
vtkIdType
int vtkIdType
Definition: vtkType.h:347
vtkX3D::range
Definition: vtkX3D.h:238
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:53
vtkGenericAdaptorCell
defines cell interface
Definition: vtkGenericAdaptorCell.h:92
vtkGenericCellIterator
iterator used to traverse cells
Definition: vtkGenericCellIterator.h:41
vtkBoundaryCentered
Definition: vtkGenericAttribute.h:44
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkObject.h
vtkCellCentered
Definition: vtkGenericAttribute.h:43
vtkGenericAttribute
abstract class defined API for attribute data
Definition: vtkGenericAttribute.h:47
vtkPointCentered
Definition: vtkGenericAttribute.h:42