00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkPVDataInformation_h
00026 #define __vtkPVDataInformation_h
00027
00028 #include "vtkPVInformation.h"
00029
00030 class vtkCollection;
00031 class vtkCompositeDataSet;
00032 class vtkDataSet;
00033 class vtkPVArrayInformation;
00034 class vtkPVCompositeDataInformation;
00035 class vtkPVDataSetAttributesInformation;
00036 class vtkGenericDataSet;
00037
00038 class VTK_EXPORT vtkPVDataInformation : public vtkPVInformation
00039 {
00040 public:
00041 static vtkPVDataInformation* New();
00042 vtkTypeRevisionMacro(vtkPVDataInformation, vtkPVInformation);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046 virtual void CopyFromObject(vtkObject*);
00047
00049 virtual void AddInformation(vtkPVInformation* info);
00050
00054 virtual void AddInformation(vtkPVInformation*, int addingParts);
00055
00057
00058 virtual void CopyToStream(vtkClientServerStream*) const;
00059 virtual void CopyFromStream(const vtkClientServerStream*);
00061
00064 void Initialize();
00065
00067
00068 vtkGetMacro(DataSetType, int);
00069 vtkGetMacro(CompositeDataSetType, int);
00070 const char *GetDataSetTypeAsString();
00071 int DataSetTypeIsA(const char* type);
00072 vtkGetMacro(NumberOfPoints, vtkTypeInt64);
00073 vtkGetMacro(NumberOfCells, vtkTypeInt64);
00074 vtkGetMacro(MemorySize, int);
00075 vtkGetMacro(NumberOfDataSets, int);
00076 vtkGetVector6Macro(Bounds, double);
00078
00080
00082 vtkGetVector6Macro(Extent, int);
00084
00086
00088 vtkGetObjectMacro(PointArrayInformation,vtkPVArrayInformation);
00090
00092
00093 vtkGetObjectMacro(PointDataInformation,vtkPVDataSetAttributesInformation);
00094 vtkGetObjectMacro(CellDataInformation,vtkPVDataSetAttributesInformation);
00096
00098
00100 vtkGetObjectMacro(CompositeDataInformation,vtkPVCompositeDataInformation);
00102
00104 const char* GetName();
00105
00108 void SetName(const char* name);
00109
00111
00112 vtkGetStringMacro(DataClassName);
00114
00116
00117 vtkGetStringMacro(CompositeDataClassName);
00119
00120 protected:
00121 vtkPVDataInformation();
00122 ~vtkPVDataInformation();
00123
00124 void DeepCopy(vtkPVDataInformation *dataInfo);
00125
00126 void CopyFromCompositeDataSet(vtkCompositeDataSet* data);
00127 void CopyFromDataSet(vtkDataSet* data);
00128 void CopyFromGenericDataSet(vtkGenericDataSet *data);
00129
00130
00131 int DataSetType;
00132 int CompositeDataSetType;
00133 int NumberOfDataSets;
00134 vtkTypeInt64 NumberOfPoints;
00135 vtkTypeInt64 NumberOfCells;
00136 int MemorySize;
00137 double Bounds[6];
00138 int Extent[6];
00139
00140 char* Name;
00141
00142 char* DataClassName;
00143 vtkSetStringMacro(DataClassName);
00144
00145 char* CompositeDataClassName;
00146 vtkSetStringMacro(CompositeDataClassName);
00147
00148 vtkPVDataSetAttributesInformation* PointDataInformation;
00149 vtkPVDataSetAttributesInformation* CellDataInformation;
00150
00151 vtkPVCompositeDataInformation* CompositeDataInformation;
00152
00153 vtkPVArrayInformation* PointArrayInformation;
00154
00155 private:
00156 int NameSetToDefault;
00157
00158 vtkPVDataInformation(const vtkPVDataInformation&);
00159 void operator=(const vtkPVDataInformation&);
00160 };
00161
00162 #endif