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 
43 enum
44 {
48 };
49 
51 {
52  public:
54  void PrintSelf(ostream& os, vtkIndent indent) 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 
220 protected:
222  ~vtkGenericAttribute() override;
223 
224 private:
225  vtkGenericAttribute(const vtkGenericAttribute&) = delete;
226  void operator=(const vtkGenericAttribute&) = delete;
227 };
228 
229 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:59
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
iterator used to traverse points
abstract class defined API for attribute data
iterator used to traverse cells
defines cell interface
a simple class to control print indentation
Definition: vtkIndent.h:39
#define VTKCOMMONDATAMODEL_EXPORT