00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkInformationObjectBaseVectorKey_h
00025 #define __vtkInformationObjectBaseVectorKey_h
00026
00027 #include "vtkInformationKey.h"
00028 #include "vtkCommonInformationKeyManager.h"
00029
00030 class vtkInformationObjectBaseVectorValue;
00031
00032 class VTK_COMMON_EXPORT vtkInformationObjectBaseVectorKey : public vtkInformationKey
00033 {
00034 public:
00035 vtkTypeMacro(vtkInformationObjectBaseVectorKey,vtkInformationKey);
00036 void PrintSelf(ostream& os, vtkIndent indent);
00038
00044 vtkInformationObjectBaseVectorKey(const char* name,
00045 const char* location,
00046 const char* requiredClass=0);
00047
00048 ~vtkInformationObjectBaseVectorKey();
00050
00052
00053 void Clear(vtkInformation* info);
00054
00055
00056
00057 void Resize(vtkInformation* info, int n);
00058
00059
00060 int Size(vtkInformation* info);
00061 int Length(vtkInformation* info){ return this->Size(info); }
00062
00063
00064 void Append(vtkInformation* info, vtkObjectBase *value);
00065
00066
00067
00068 void Set(vtkInformation* info, vtkObjectBase *value, int i);
00069
00070
00071
00072
00073 void SetRange(vtkInformation* info,
00074 vtkObjectBase **source,
00075 int from,
00076 int to,
00077 int n);
00079
00081
00084 void GetRange(vtkInformation *info,
00085 vtkObjectBase **dest,
00086 int from,
00087 int to,
00088 int n);
00090
00092 vtkObjectBase *Get(vtkInformation* info, int idx);
00093
00094
00095
00096
00097
00098
00099
00103 virtual void ShallowCopy(vtkInformation* from, vtkInformation* to);
00104
00106 virtual void Print(ostream& os, vtkInformation* info);
00107
00108 protected:
00109
00110 const char* RequiredClass;
00111
00112 private:
00114
00116 void CreateObjectBase();
00117
00118
00119
00120 bool ValidateDerivedType(vtkInformation* info,vtkObjectBase* aValue);
00121
00122
00123
00124
00125 vtkInformationObjectBaseVectorValue *GetObjectBaseVector(vtkInformation *info);
00127
00128
00129 vtkInformationObjectBaseVectorKey(const vtkInformationObjectBaseVectorKey&);
00130 void operator=(const vtkInformationObjectBaseVectorKey&);
00131 };
00132
00133 #endif