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 00064 virtual int GetNumberOfComponents() = 0; 00065 00069 virtual int GetCentering() = 0; 00070 00077 virtual int GetType()=0; 00078 00086 virtual int GetComponentType() = 0; 00087 00089 virtual vtkIdType GetSize() = 0; 00090 00092 virtual unsigned long GetActualMemorySize() = 0; 00093 00099 virtual double *GetRange(int component=0) = 0; 00100 00102 00105 virtual void GetRange(int component, 00106 double range[2]) = 0; 00108 00111 virtual double GetMaxNorm()=0; 00112 00117 virtual double *GetTuple(vtkGenericAdaptorCell *c) = 0; 00118 00123 virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple) = 0; 00124 00129 virtual double *GetTuple(vtkGenericCellIterator *c) = 0; 00130 00135 virtual void GetTuple(vtkGenericCellIterator *c, double *tuple) = 0; 00136 00140 virtual double *GetTuple(vtkGenericPointIterator *p) = 0; 00141 00146 virtual void GetTuple(vtkGenericPointIterator *p, double *tuple) = 0; 00147 00153 virtual void GetComponent(int i,vtkGenericCellIterator *c, double *values) = 0; 00154 00158 virtual double GetComponent(int i,vtkGenericPointIterator *p) = 0; 00159 00162 virtual void DeepCopy(vtkGenericAttribute *other) = 0; 00163 00166 virtual void ShallowCopy(vtkGenericAttribute *other) = 0; 00167 00168 protected: 00169 vtkGenericAttribute(); 00170 ~vtkGenericAttribute(); 00171 00172 private: 00173 vtkGenericAttribute(const vtkGenericAttribute&); // Not implemented. 00174 void operator=(const vtkGenericAttribute&); // Not implemented. 00175 }; 00176 00177 #endif