00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00033 #ifndef __vtkInformation_h
00034 #define __vtkInformation_h
00035
00036 #include "vtkObject.h"
00037
00038 class vtkDataObject;
00039 class vtkExecutive;
00040 class vtkInformationDataObjectKey;
00041 class vtkInformationDoubleKey;
00042 class vtkInformationDoubleVectorKey;
00043 class vtkInformationExecutivePortKey;
00044 class vtkInformationExecutivePortVectorKey;
00045 class vtkInformationIdTypeKey;
00046 class vtkInformationInformationKey;
00047 class vtkInformationInformationVectorKey;
00048 class vtkInformationIntegerKey;
00049 class vtkInformationIntegerPointerKey;
00050 class vtkInformationIntegerVectorKey;
00051 class vtkInformationInternals;
00052 class vtkInformationKey;
00053 class vtkInformationKeyToInformationFriendship;
00054 class vtkInformationKeyVectorKey;
00055 class vtkInformationObjectBaseKey;
00056 class vtkInformationRequestKey;
00057 class vtkInformationStringKey;
00058 class vtkInformationStringVectorKey;
00059 class vtkInformationUnsignedLongKey;
00060 class vtkInformationVector;
00061
00062 class vtkInformation : public vtkObject
00063 {
00064 public:
00065 VTK_COMMON_EXPORT static vtkInformation *New();
00066 vtkExportedTypeRevisionMacro(vtkInformation,vtkObject,VTK_COMMON_EXPORT);
00067 VTK_COMMON_EXPORT void PrintSelf(ostream& os, vtkIndent indent);
00068
00070 VTK_COMMON_EXPORT void Clear();
00071
00077 VTK_COMMON_EXPORT void Copy(vtkInformation* from, int deep=0);
00078
00080
00084 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationKey* key, int deep=0);
00085 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationDataObjectKey* key, int deep=0);
00086 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationDoubleVectorKey* key, int deep=0);
00087 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationInformationKey* key, int deep=0);
00088 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationInformationVectorKey* key, int deep=0);
00089 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationIntegerKey* key, int deep=0);
00090 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationIntegerVectorKey* key, int deep=0);
00091 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationRequestKey* key, int deep=0);
00092 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationStringKey* key, int deep=0);
00093 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationStringVectorKey* key, int deep=0);
00094 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationUnsignedLongKey* key, int deep=0);
00096
00101 VTK_COMMON_EXPORT void CopyEntries(vtkInformation* from, vtkInformationKeyVectorKey* key, int deep=0);
00102
00104
00105 VTK_COMMON_EXPORT void Set(vtkInformationRequestKey* key);
00106 VTK_COMMON_EXPORT void Remove(vtkInformationRequestKey* key);
00107 VTK_COMMON_EXPORT int Has(vtkInformationRequestKey* key);
00109
00111
00112 VTK_COMMON_EXPORT void Set(vtkInformationIntegerKey* key, int value);
00113 VTK_COMMON_EXPORT int Get(vtkInformationIntegerKey* key);
00114 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerKey* key);
00115 VTK_COMMON_EXPORT int Has(vtkInformationIntegerKey* key);
00117
00119
00120 VTK_COMMON_EXPORT void Set(vtkInformationIdTypeKey* key, vtkIdType value);
00121 VTK_COMMON_EXPORT vtkIdType Get(vtkInformationIdTypeKey* key);
00122 VTK_COMMON_EXPORT void Remove(vtkInformationIdTypeKey* key);
00123 VTK_COMMON_EXPORT int Has(vtkInformationIdTypeKey* key);
00125
00127
00128 VTK_COMMON_EXPORT void Set(vtkInformationDoubleKey* key, double value);
00129 VTK_COMMON_EXPORT double Get(vtkInformationDoubleKey* key);
00130 VTK_COMMON_EXPORT void Remove(vtkInformationDoubleKey* key);
00131 VTK_COMMON_EXPORT int Has(vtkInformationDoubleKey* key);
00133
00135
00136 VTK_COMMON_EXPORT void Append(vtkInformationIntegerVectorKey* key, int value);
00137 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, int* value, int length);
00138 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, int value1,
00139 int value2, int value3);
00140 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key,
00141 int value1, int value2, int value3,
00142 int value4, int value5, int value6);
00143 VTK_COMMON_EXPORT int* Get(vtkInformationIntegerVectorKey* key);
00144 VTK_COMMON_EXPORT int Get(vtkInformationIntegerVectorKey* key, int idx);
00145 VTK_COMMON_EXPORT void Get(vtkInformationIntegerVectorKey* key, int* value);
00146 VTK_COMMON_EXPORT int Length(vtkInformationIntegerVectorKey* key);
00147 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerVectorKey* key);
00148 VTK_COMMON_EXPORT int Has(vtkInformationIntegerVectorKey* key);
00150
00152
00153 VTK_COMMON_EXPORT void Append(vtkInformationStringVectorKey* key, const char* value);
00154 VTK_COMMON_EXPORT void Set(vtkInformationStringVectorKey* key, const char* value, int idx = 0);
00155 VTK_COMMON_EXPORT const char* Get(vtkInformationStringVectorKey* key, int idx = 0);
00156 VTK_COMMON_EXPORT int Length(vtkInformationStringVectorKey* key);
00157 VTK_COMMON_EXPORT void Remove(vtkInformationStringVectorKey* key);
00158 VTK_COMMON_EXPORT int Has(vtkInformationStringVectorKey* key);
00160
00162
00163 VTK_COMMON_EXPORT void Set(vtkInformationIntegerPointerKey* key, int* value, int length);
00164 VTK_COMMON_EXPORT int* Get(vtkInformationIntegerPointerKey* key);
00165 VTK_COMMON_EXPORT void Get(vtkInformationIntegerPointerKey* key, int* value);
00166 VTK_COMMON_EXPORT int Length(vtkInformationIntegerPointerKey* key);
00167 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerPointerKey* key);
00168 VTK_COMMON_EXPORT int Has(vtkInformationIntegerPointerKey* key);
00170
00172
00173 VTK_COMMON_EXPORT void Set(vtkInformationUnsignedLongKey* key, unsigned long value);
00174 VTK_COMMON_EXPORT unsigned long Get(vtkInformationUnsignedLongKey* key);
00175 VTK_COMMON_EXPORT void Remove(vtkInformationUnsignedLongKey* key);
00176 VTK_COMMON_EXPORT int Has(vtkInformationUnsignedLongKey* key);
00178
00180
00181 VTK_COMMON_EXPORT void Append(vtkInformationDoubleVectorKey* key, double value);
00182 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, double* value, int length);
00183 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, double value1,
00184 double value2, double value3);
00185 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key,
00186 double value1, double value2, double value3,
00187 double value4, double value5, double value6);
00188 VTK_COMMON_EXPORT double* Get(vtkInformationDoubleVectorKey* key);
00189 VTK_COMMON_EXPORT double Get(vtkInformationDoubleVectorKey* key, int idx);
00190 VTK_COMMON_EXPORT void Get(vtkInformationDoubleVectorKey* key, double* value);
00191 VTK_COMMON_EXPORT int Length(vtkInformationDoubleVectorKey* key);
00192 VTK_COMMON_EXPORT void Remove(vtkInformationDoubleVectorKey* key);
00193 VTK_COMMON_EXPORT int Has(vtkInformationDoubleVectorKey* key);
00195
00197
00198 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00199 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00200 VTK_COMMON_EXPORT void Set(vtkInformationKeyVectorKey* key, vtkInformationKey** value, int length);
00201 VTK_COMMON_EXPORT void Remove(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00202 VTK_COMMON_EXPORT vtkInformationKey** Get(vtkInformationKeyVectorKey* key);
00203 VTK_COMMON_EXPORT vtkInformationKey* Get(vtkInformationKeyVectorKey* key, int idx);
00204 VTK_COMMON_EXPORT void Get(vtkInformationKeyVectorKey* key, vtkInformationKey** value);
00205 VTK_COMMON_EXPORT int Length(vtkInformationKeyVectorKey* key);
00206 VTK_COMMON_EXPORT void Remove(vtkInformationKeyVectorKey* key);
00207 VTK_COMMON_EXPORT int Has(vtkInformationKeyVectorKey* key);
00209
00210
00211
00212
00213
00214
00215 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00216 vtkInformationDataObjectKey* value);
00217 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationDoubleKey* value);
00218 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00219 vtkInformationDoubleVectorKey* value);
00220 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00221 vtkInformationInformationKey* value);
00222 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00223 vtkInformationInformationVectorKey* value);
00224 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00225 vtkInformationIntegerKey* value);
00226 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00227 vtkInformationIntegerVectorKey* value);
00228 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationStringKey* value);
00229 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00230 vtkInformationStringVectorKey* value);
00231 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00232 vtkInformationObjectBaseKey* value);
00233 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00234 vtkInformationUnsignedLongKey* value);
00235
00236 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00237 vtkInformationDataObjectKey* value);
00238 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00239 vtkInformationDoubleKey* value);
00240 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00241 vtkInformationDoubleVectorKey* value);
00242 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00243 vtkInformationInformationKey* value);
00244 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00245 vtkInformationInformationVectorKey* value);
00246 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00247 vtkInformationIntegerKey* value);
00248 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00249 vtkInformationIntegerVectorKey* value);
00250 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00251 vtkInformationStringKey* value);
00252 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00253 vtkInformationStringVectorKey* value);
00254 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00255 vtkInformationObjectBaseKey* value);
00256 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00257 vtkInformationUnsignedLongKey* value);
00258
00259
00261
00262 VTK_COMMON_EXPORT void Set(vtkInformationStringKey* key, const char*);
00263 VTK_COMMON_EXPORT const char* Get(vtkInformationStringKey* key);
00264 VTK_COMMON_EXPORT void Remove(vtkInformationStringKey* key);
00265 VTK_COMMON_EXPORT int Has(vtkInformationStringKey* key);
00267
00269
00270 VTK_COMMON_EXPORT void Set(vtkInformationInformationKey* key, vtkInformation*);
00271 VTK_COMMON_EXPORT vtkInformation* Get(vtkInformationInformationKey* key);
00272 VTK_COMMON_EXPORT void Remove(vtkInformationInformationKey* key);
00273 VTK_COMMON_EXPORT int Has(vtkInformationInformationKey* key);
00275
00277
00278 VTK_COMMON_EXPORT void Set(vtkInformationInformationVectorKey* key, vtkInformationVector*);
00279 VTK_COMMON_EXPORT vtkInformationVector* Get(vtkInformationInformationVectorKey* key);
00280 VTK_COMMON_EXPORT void Remove(vtkInformationInformationVectorKey* key);
00281 VTK_COMMON_EXPORT int Has(vtkInformationInformationVectorKey* key);
00283
00285
00286 VTK_COMMON_EXPORT void Set(vtkInformationObjectBaseKey* key, vtkObjectBase*);
00287 VTK_COMMON_EXPORT vtkObjectBase* Get(vtkInformationObjectBaseKey* key);
00288 VTK_COMMON_EXPORT void Remove(vtkInformationObjectBaseKey* key);
00289 VTK_COMMON_EXPORT int Has(vtkInformationObjectBaseKey* key);
00291
00293
00294 VTK_COMMON_EXPORT void Set(vtkInformationDataObjectKey* key, vtkDataObject*);
00295 VTK_COMMON_EXPORT vtkDataObject* Get(vtkInformationDataObjectKey* key);
00296 VTK_COMMON_EXPORT void Remove(vtkInformationDataObjectKey* key);
00297 VTK_COMMON_EXPORT int Has(vtkInformationDataObjectKey* key);
00299
00301
00302 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDataObjectKey* key);
00303 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDoubleKey* key);
00304 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDoubleVectorKey* key);
00305 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationInformationKey* key);
00306 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationInformationVectorKey* key);
00307 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationIntegerKey* key);
00308 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationIntegerVectorKey* key);
00309 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationRequestKey* key);
00310 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationStringKey* key);
00311 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationStringVectorKey* key);
00312 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationKey* key);
00313 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationUnsignedLongKey* key);
00315
00317
00318 VTK_COMMON_EXPORT virtual void Register(vtkObjectBase* o);
00319 VTK_COMMON_EXPORT virtual void UnRegister(vtkObjectBase* o);
00321
00323
00324 VTK_COMMON_EXPORT void SetRequest(vtkInformationRequestKey* request);
00325 VTK_COMMON_EXPORT vtkInformationRequestKey* GetRequest();
00327
00328
00334 VTK_LEGACY(VTK_FILTERING_EXPORT void CopyEntry(vtkInformation* from, vtkInformationExecutivePortKey* key, int deep=0));
00335
00337
00339 VTK_LEGACY(VTK_FILTERING_EXPORT void Append(
00340 vtkInformationKeyVectorKey* key,
00341 vtkInformationExecutivePortKey* value));
00342
00343
00344
00345 VTK_LEGACY(VTK_FILTERING_EXPORT void AppendUnique(
00346 vtkInformationKeyVectorKey* key,
00347 vtkInformationExecutivePortKey* value));
00349
00351
00354 VTK_LEGACY(VTK_FILTERING_EXPORT
00355 void Set(vtkInformationExecutivePortKey* key, vtkExecutive*, int));
00356
00357
00358
00359 VTK_LEGACY(VTK_FILTERING_EXPORT
00360 vtkExecutive* GetExecutive(vtkInformationExecutivePortKey* key));
00361
00362
00363
00364 VTK_LEGACY(VTK_FILTERING_EXPORT
00365 int GetPort(vtkInformationExecutivePortKey* key));
00366
00367
00368
00369 VTK_LEGACY(VTK_FILTERING_EXPORT
00370 void Get(vtkInformationExecutivePortKey* key, vtkExecutive*& executive, int &port));
00371
00372
00373
00374 VTK_LEGACY(VTK_FILTERING_EXPORT
00375 void Remove(vtkInformationExecutivePortKey* key));
00376
00377
00378
00379 VTK_LEGACY(VTK_FILTERING_EXPORT
00380 int Has(vtkInformationExecutivePortKey* key));
00382
00384
00387 VTK_LEGACY(VTK_FILTERING_EXPORT
00388 void Append(vtkInformationExecutivePortVectorKey* key,
00389 vtkExecutive* executive, int port));
00390
00391
00392
00393 VTK_LEGACY(VTK_FILTERING_EXPORT
00394 void Remove(vtkInformationExecutivePortVectorKey* key,
00395 vtkExecutive* executive, int port));
00396
00397
00398
00399 VTK_LEGACY(VTK_FILTERING_EXPORT
00400 void Set(vtkInformationExecutivePortVectorKey* key,
00401 vtkExecutive** executives, int* ports, int length));
00402
00403
00404
00405 VTK_LEGACY(VTK_FILTERING_EXPORT
00406 vtkExecutive** GetExecutives(vtkInformationExecutivePortVectorKey* key));
00407
00408
00409
00410 VTK_LEGACY(VTK_FILTERING_EXPORT
00411 int* GetPorts(vtkInformationExecutivePortVectorKey* key));
00412
00413
00414
00415 VTK_LEGACY(VTK_FILTERING_EXPORT
00416 void Get(vtkInformationExecutivePortVectorKey* key,
00417 vtkExecutive** executives, int* ports));
00418
00419
00420
00421 VTK_LEGACY(VTK_FILTERING_EXPORT
00422 int Length(vtkInformationExecutivePortVectorKey* key));
00423
00424
00425
00426 VTK_LEGACY(VTK_FILTERING_EXPORT
00427 void Remove(vtkInformationExecutivePortVectorKey* key));
00428
00429
00430
00431 VTK_LEGACY(VTK_FILTERING_EXPORT
00432 int Has(vtkInformationExecutivePortVectorKey* key));
00434
00436
00438 VTK_LEGACY(VTK_FILTERING_EXPORT
00439 static vtkInformationKey* GetKey(vtkInformationExecutivePortKey* key));
00440
00442
00443 protected:
00444 VTK_COMMON_EXPORT vtkInformation();
00445 VTK_COMMON_EXPORT ~vtkInformation();
00446
00447
00448
00449 VTK_COMMON_EXPORT void SetAsObjectBase(vtkInformationKey* key, vtkObjectBase* value);
00450 VTK_COMMON_EXPORT vtkObjectBase* GetAsObjectBase(vtkInformationKey* key);
00451
00452
00453 VTK_COMMON_EXPORT void ExpandTable();
00454
00455
00456 vtkInformationInternals* Internal;
00457
00458
00459 VTK_COMMON_EXPORT virtual void ReportReferences(vtkGarbageCollector*);
00460
00461
00462 VTK_COMMON_EXPORT void ReportAsObjectBase(vtkInformationKey* key,
00463 vtkGarbageCollector* collector);
00464
00465 private:
00466
00467 friend class vtkInformationKeyToInformationFriendship;
00468 friend class vtkInformationIterator;
00469
00470 private:
00471 VTK_COMMON_EXPORT vtkInformation(const vtkInformation&);
00472 VTK_COMMON_EXPORT void operator=(const vtkInformation&);
00473 vtkInformationRequestKey *Request;
00474 };
00475
00476 #endif