00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkPVArrayInformation_h
00027 #define __vtkPVArrayInformation_h
00028
00029 #include "vtkPVInformation.h"
00030
00031 class vtkClientServerStream;
00032
00033 class VTK_EXPORT vtkPVArrayInformation : public vtkPVInformation
00034 {
00035 public:
00036 static vtkPVArrayInformation* New();
00037 vtkTypeRevisionMacro(vtkPVArrayInformation, vtkPVInformation);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039
00041
00043 vtkSetMacro(DataType, int);
00044 vtkGetMacro(DataType, int);
00046
00048
00049 vtkSetStringMacro(Name);
00050 vtkGetStringMacro(Name);
00052
00054
00056 void SetNumberOfComponents(int numComps);
00057 vtkGetMacro(NumberOfComponents, int);
00059
00061
00064 void SetComponentRange(int comp, double min, double max);
00065 void SetComponentRange(int comp, double *range)
00066 { this->SetComponentRange(comp, range[0], range[1]);}
00067 double *GetComponentRange(int component);
00068 void GetComponentRange(int comp, double *range);
00070
00074 void GetDataTypeRange(double range[2]);
00075
00078 int Compare(vtkPVArrayInformation *info);
00079
00081 void AddRanges(vtkPVArrayInformation *info);
00082
00083 void DeepCopy(vtkPVArrayInformation *info);
00084
00086 virtual void CopyFromObject(vtkObject*);
00087
00089 virtual void AddInformation(vtkPVInformation*);
00090
00092
00093 virtual void CopyToStream(vtkClientServerStream*) const;
00094 virtual void CopyFromStream(const vtkClientServerStream*);
00096
00098
00100 vtkSetMacro(IsPartial, int);
00101 vtkGetMacro(IsPartial, int);
00103
00105 void Initialize();
00106
00107 protected:
00108 vtkPVArrayInformation();
00109 ~vtkPVArrayInformation();
00110
00111 int IsPartial;
00112 int DataType;
00113 int NumberOfComponents;
00114 char *Name;
00115 double *Ranges;
00116
00117 vtkPVArrayInformation(const vtkPVArrayInformation&);
00118 void operator=(const vtkPVArrayInformation&);
00119 };
00120
00121 #endif