00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkPVDataSetAttributesInformation_h
00026 #define __vtkPVDataSetAttributesInformation_h
00027
00028 #include "vtkPVInformation.h"
00029 #include "vtkDataSetAttributes.h"
00030
00031 class vtkCollection;
00032 class vtkDataSetAttributes;
00033 class vtkPVArrayInformation;
00034 class vtkGenericAttributeCollection;
00035
00036 class VTK_EXPORT vtkPVDataSetAttributesInformation : public vtkPVInformation
00037 {
00038 public:
00039 static vtkPVDataSetAttributesInformation* New();
00040 vtkTypeRevisionMacro(vtkPVDataSetAttributesInformation, vtkPVInformation);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044
00045 void CopyFromDataSetAttributes(vtkDataSetAttributes* data);
00046 void DeepCopy(vtkPVDataSetAttributesInformation* info);
00048
00049 void CopyFromGenericAttributesOnPoints(vtkGenericAttributeCollection *data);
00050 void CopyFromGenericAttributesOnCells(vtkGenericAttributeCollection *data);
00051
00052
00054
00057 void AddInformation(vtkDataSetAttributes* da);
00058 void AddInformation(vtkPVDataSetAttributesInformation* info);
00059 virtual void AddInformation(vtkPVInformation* info);
00061
00063 void Initialize();
00064
00066
00067 int GetNumberOfArrays() const;
00068 vtkPVArrayInformation* GetArrayInformation(int idx) const;
00069 vtkPVArrayInformation* GetArrayInformation(const char *name) const;
00071
00073 vtkPVArrayInformation* GetAttributeInformation(int attributeType);
00074
00077 int IsArrayAnAttribute(int arrayIndex);
00078
00080
00081 virtual void CopyToStream(vtkClientServerStream*) const;
00082 virtual void CopyFromStream(const vtkClientServerStream*);
00084
00085 protected:
00086 vtkPVDataSetAttributesInformation();
00087 ~vtkPVDataSetAttributesInformation();
00088
00089
00090 vtkCollection* ArrayInformation;
00091
00092 short AttributeIndices[vtkDataSetAttributes::NUM_ATTRIBUTES];
00093
00094 vtkPVDataSetAttributesInformation(const vtkPVDataSetAttributesInformation&);
00095 void operator=(const vtkPVDataSetAttributesInformation&);
00096 };
00097
00098 #endif