Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkGenericAttribute.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkGenericAttribute.h,v $
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 =========================================================================*/
00042 #ifndef __vtkGenericAttribute_h
00043 #define __vtkGenericAttribute_h
00044 
00045 #include "vtkObject.h"
00046 
00047 class vtkGenericCellIterator;
00048 class vtkGenericPointIterator;
00049 
00050 enum
00051 {
00052   vtkPointCentered,
00053   vtkCellCentered,
00054   vtkBoundaryCentered
00055 };
00056 
00057 class VTK_FILTERING_EXPORT vtkGenericAttribute : public vtkObject
00058 {
00059  public:
00060   vtkTypeRevisionMacro(vtkGenericAttribute,vtkObject);
00061   virtual void PrintSelf(ostream& os, vtkIndent indent);
00062 
00065   virtual const char *GetName() = 0;
00066 
00069   virtual int GetNumberOfComponents() = 0;
00070 
00074   virtual int GetCentering() = 0;
00075   
00078   virtual int GetType() = 0;
00079 
00081   virtual vtkIdType GetSize() = 0;
00082 
00084   virtual unsigned long GetActualMemorySize() = 0;
00085 
00091   virtual double *GetRange(int component=0) = 0;
00092   
00094 
00097   virtual void GetRange(int component,
00098                         double range[2]) = 0;
00100   
00103   virtual double GetMaxNorm()=0;
00104   
00110   virtual double *GetTuple(vtkGenericCellIterator *c) = 0;
00111 
00117   virtual void GetTuple(vtkGenericCellIterator *c, double *tuple) = 0;
00118 
00122   virtual double *GetTuple(vtkGenericPointIterator *p) = 0;
00123   
00128   virtual void GetTuple(vtkGenericPointIterator *p, double *tuple) = 0;
00129   
00135   virtual void GetComponent(int i,vtkGenericCellIterator *c, double *values) = 0;
00136 
00140   virtual double GetComponent(int i,vtkGenericPointIterator *p) = 0;
00141   
00144   virtual void DeepCopy(vtkGenericAttribute *other) = 0;
00145   
00148   virtual void ShallowCopy(vtkGenericAttribute *other) = 0;
00149 
00150 protected:
00151   vtkGenericAttribute();
00152   ~vtkGenericAttribute();
00153   
00154 private:
00155   vtkGenericAttribute(const vtkGenericAttribute&);  // Not implemented.
00156   void operator=(const vtkGenericAttribute&);  // Not implemented.
00157 };
00158 
00159 #endif