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 "vtkObject.h" 00036 00037 class vtkGenericCellIterator; 00038 class vtkGenericAdaptorCell; 00039 class vtkGenericPointIterator; 00040 00041 enum 00042 { 00043 vtkPointCentered, 00044 vtkCellCentered, 00045 vtkBoundaryCentered 00046 }; 00047 00048 class VTK_FILTERING_EXPORT vtkGenericAttribute : public vtkObject 00049 { 00050 public: 00051 vtkTypeMacro(vtkGenericAttribute,vtkObject); 00052 virtual void PrintSelf(ostream& os, vtkIndent indent); 00053 00056 virtual const char *GetName() = 0; 00057 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 00118 virtual double *GetTuple(vtkGenericAdaptorCell *c) = 0; 00119 00125 virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple) = 0; 00126 00132 virtual double *GetTuple(vtkGenericCellIterator *c) = 0; 00133 00139 virtual void GetTuple(vtkGenericCellIterator *c, double *tuple) = 0; 00140 00144 virtual double *GetTuple(vtkGenericPointIterator *p) = 0; 00145 00150 virtual void GetTuple(vtkGenericPointIterator *p, double *tuple) = 0; 00151 00157 virtual void GetComponent(int i,vtkGenericCellIterator *c, double *values) = 0; 00158 00162 virtual double GetComponent(int i,vtkGenericPointIterator *p) = 0; 00163 00166 virtual void DeepCopy(vtkGenericAttribute *other) = 0; 00167 00170 virtual void ShallowCopy(vtkGenericAttribute *other) = 0; 00171 00172 protected: 00173 vtkGenericAttribute(); 00174 ~vtkGenericAttribute(); 00175 00176 private: 00177 vtkGenericAttribute(const vtkGenericAttribute&); // Not implemented. 00178 void operator=(const vtkGenericAttribute&); // Not implemented. 00179 }; 00180 00181 #endif