VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkGenericAttribute.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00032 #ifndef __vtkGenericAttribute_h 00033 #define __vtkGenericAttribute_h 00034 00035 #include "vtkCommonDataModelModule.h" // For export macro 00036 #include "vtkObject.h" 00037 00038 class vtkGenericCellIterator; 00039 class vtkGenericAdaptorCell; 00040 class vtkGenericPointIterator; 00041 00042 enum 00043 { 00044 vtkPointCentered, 00045 vtkCellCentered, 00046 vtkBoundaryCentered 00047 }; 00048 00049 class VTKCOMMONDATAMODEL_EXPORT vtkGenericAttribute : public vtkObject 00050 { 00051 public: 00052 vtkTypeMacro(vtkGenericAttribute,vtkObject); 00053 virtual void PrintSelf(ostream& os, vtkIndent indent); 00054 00057 virtual const char *GetName() = 0; 00058 00065 virtual int GetNumberOfComponents() = 0; 00066 00070 virtual int GetCentering() = 0; 00071 00078 virtual int GetType()=0; 00079 00087 virtual int GetComponentType() = 0; 00088 00090 virtual vtkIdType GetSize() = 0; 00091 00093 virtual unsigned long GetActualMemorySize() = 0; 00094 00100 virtual double *GetRange(int component=0) = 0; 00101 00103 00106 virtual void GetRange(int component, 00107 double range[2]) = 0; 00109 00112 virtual double GetMaxNorm()=0; 00113 00119 virtual double *GetTuple(vtkGenericAdaptorCell *c) = 0; 00120 00126 virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple) = 0; 00127 00133 virtual double *GetTuple(vtkGenericCellIterator *c) = 0; 00134 00140 virtual void GetTuple(vtkGenericCellIterator *c, double *tuple) = 0; 00141 00145 virtual double *GetTuple(vtkGenericPointIterator *p) = 0; 00146 00151 virtual void GetTuple(vtkGenericPointIterator *p, double *tuple) = 0; 00152 00158 virtual void GetComponent(int i,vtkGenericCellIterator *c, double *values) = 0; 00159 00163 virtual double GetComponent(int i,vtkGenericPointIterator *p) = 0; 00164 00167 virtual void DeepCopy(vtkGenericAttribute *other) = 0; 00168 00171 virtual void ShallowCopy(vtkGenericAttribute *other) = 0; 00172 00173 protected: 00174 vtkGenericAttribute(); 00175 ~vtkGenericAttribute(); 00176 00177 private: 00178 vtkGenericAttribute(const vtkGenericAttribute&); // Not implemented. 00179 void operator=(const vtkGenericAttribute&); // Not implemented. 00180 }; 00181 00182 #endif