00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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 vtkTypeRevisionMacro(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&);
00178 void operator=(const vtkGenericAttribute&);
00179 };
00180
00181 #endif