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
00039
00040
00041
00042 #ifdef __GCCXML__
00043 #undef VTK_COMMON_EXPORT
00044 #define VTK_COMMON_EXPORT
00045 #endif
00046
00047 class vtkDataObject;
00048 class vtkExecutive;
00049 class vtkInformationDataObjectKey;
00050 class vtkInformationDoubleKey;
00051 class vtkInformationDoubleVectorKey;
00052 class vtkInformationExecutivePortKey;
00053 class vtkInformationExecutivePortVectorKey;
00054 class vtkInformationIdTypeKey;
00055 class vtkInformationInformationKey;
00056 class vtkInformationInformationVectorKey;
00057 class vtkInformationIntegerKey;
00058 class vtkInformationIntegerPointerKey;
00059 class vtkInformationIntegerVectorKey;
00060 class vtkInformationInternals;
00061 class vtkInformationKey;
00062 class vtkInformationKeyToInformationFriendship;
00063 class vtkInformationKeyVectorKey;
00064 class vtkInformationObjectBaseKey;
00065 class vtkInformationRequestKey;
00066 class vtkInformationStringKey;
00067 class vtkInformationStringVectorKey;
00068 class vtkInformationUnsignedLongKey;
00069 class vtkInformationVector;
00070
00071 class vtkInformation : public vtkObject
00072 {
00073 public:
00074 VTK_COMMON_EXPORT static vtkInformation *New();
00075 vtkExportedTypeRevisionMacro(vtkInformation,vtkObject,VTK_COMMON_EXPORT);
00076 VTK_COMMON_EXPORT void PrintSelf(ostream& os, vtkIndent indent);
00077 VTK_COMMON_EXPORT void PrintKeys(ostream& os, vtkIndent indent);
00078
00081 VTK_COMMON_EXPORT void Modified();
00082
00086 VTK_COMMON_EXPORT void Modified(vtkInformationKey* key);
00087
00089 VTK_COMMON_EXPORT void Clear();
00090
00093 VTK_COMMON_EXPORT int GetNumberOfKeys();
00094
00100 VTK_COMMON_EXPORT void Copy(vtkInformation* from, int deep=0);
00101
00103
00107 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationKey* key, int deep=0);
00108 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationDataObjectKey* key, int deep=0);
00109 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationDoubleVectorKey* key, int deep=0);
00110 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationInformationKey* key, int deep=0);
00111 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationInformationVectorKey* key, int deep=0);
00112 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationIntegerKey* key, int deep=0);
00113 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationIntegerVectorKey* key, int deep=0);
00114 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationRequestKey* key, int deep=0);
00115 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationStringKey* key, int deep=0);
00116 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationStringVectorKey* key, int deep=0);
00117 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationUnsignedLongKey* key, int deep=0);
00119
00124 VTK_COMMON_EXPORT void CopyEntries(vtkInformation* from, vtkInformationKeyVectorKey* key, int deep=0);
00125
00127 VTK_COMMON_EXPORT int Has(vtkInformationKey* key);
00128
00130 VTK_COMMON_EXPORT void Remove(vtkInformationKey* key);
00131
00133
00134 VTK_COMMON_EXPORT void Set(vtkInformationRequestKey* key);
00135 VTK_COMMON_EXPORT void Remove(vtkInformationRequestKey* key);
00136 VTK_COMMON_EXPORT int Has(vtkInformationRequestKey* key);
00138
00140
00141 VTK_COMMON_EXPORT void Set(vtkInformationIntegerKey* key, int value);
00142 VTK_COMMON_EXPORT int Get(vtkInformationIntegerKey* key);
00143 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerKey* key);
00144 VTK_COMMON_EXPORT int Has(vtkInformationIntegerKey* key);
00146
00148
00149 VTK_COMMON_EXPORT void Set(vtkInformationIdTypeKey* key, vtkIdType value);
00150 VTK_COMMON_EXPORT vtkIdType Get(vtkInformationIdTypeKey* key);
00151 VTK_COMMON_EXPORT void Remove(vtkInformationIdTypeKey* key);
00152 VTK_COMMON_EXPORT int Has(vtkInformationIdTypeKey* key);
00154
00156
00157 VTK_COMMON_EXPORT void Set(vtkInformationDoubleKey* key, double value);
00158 VTK_COMMON_EXPORT double Get(vtkInformationDoubleKey* key);
00159 VTK_COMMON_EXPORT void Remove(vtkInformationDoubleKey* key);
00160 VTK_COMMON_EXPORT int Has(vtkInformationDoubleKey* key);
00162
00164
00165 VTK_COMMON_EXPORT void Append(vtkInformationIntegerVectorKey* key, int value);
00166 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, int* value, int length);
00167 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, int value1,
00168 int value2, int value3);
00169 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key,
00170 int value1, int value2, int value3,
00171 int value4, int value5, int value6);
00172 VTK_COMMON_EXPORT int* Get(vtkInformationIntegerVectorKey* key);
00173 VTK_COMMON_EXPORT int Get(vtkInformationIntegerVectorKey* key, int idx);
00174 VTK_COMMON_EXPORT void Get(vtkInformationIntegerVectorKey* key, int* value);
00175 VTK_COMMON_EXPORT int Length(vtkInformationIntegerVectorKey* key);
00176 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerVectorKey* key);
00177 VTK_COMMON_EXPORT int Has(vtkInformationIntegerVectorKey* key);
00179
00181
00182 VTK_COMMON_EXPORT void Append(vtkInformationStringVectorKey* key, const char* value);
00183 VTK_COMMON_EXPORT void Set(vtkInformationStringVectorKey* key, const char* value, int idx = 0);
00184 VTK_COMMON_EXPORT const char* Get(vtkInformationStringVectorKey* key, int idx = 0);
00185 VTK_COMMON_EXPORT int Length(vtkInformationStringVectorKey* key);
00186 VTK_COMMON_EXPORT void Remove(vtkInformationStringVectorKey* key);
00187 VTK_COMMON_EXPORT int Has(vtkInformationStringVectorKey* key);
00189
00191
00192 VTK_COMMON_EXPORT void Set(vtkInformationIntegerPointerKey* key, int* value, int length);
00193 VTK_COMMON_EXPORT int* Get(vtkInformationIntegerPointerKey* key);
00194 VTK_COMMON_EXPORT void Get(vtkInformationIntegerPointerKey* key, int* value);
00195 VTK_COMMON_EXPORT int Length(vtkInformationIntegerPointerKey* key);
00196 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerPointerKey* key);
00197 VTK_COMMON_EXPORT int Has(vtkInformationIntegerPointerKey* key);
00199
00201
00202 VTK_COMMON_EXPORT void Set(vtkInformationUnsignedLongKey* key, unsigned long value);
00203 VTK_COMMON_EXPORT unsigned long Get(vtkInformationUnsignedLongKey* key);
00204 VTK_COMMON_EXPORT void Remove(vtkInformationUnsignedLongKey* key);
00205 VTK_COMMON_EXPORT int Has(vtkInformationUnsignedLongKey* key);
00207
00209
00210 VTK_COMMON_EXPORT void Append(vtkInformationDoubleVectorKey* key, double value);
00211 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, double* value, int length);
00212 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, double value1,
00213 double value2, double value3);
00214 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key,
00215 double value1, double value2, double value3,
00216 double value4, double value5, double value6);
00217 VTK_COMMON_EXPORT double* Get(vtkInformationDoubleVectorKey* key);
00218 VTK_COMMON_EXPORT double Get(vtkInformationDoubleVectorKey* key, int idx);
00219 VTK_COMMON_EXPORT void Get(vtkInformationDoubleVectorKey* key, double* value);
00220 VTK_COMMON_EXPORT int Length(vtkInformationDoubleVectorKey* key);
00221 VTK_COMMON_EXPORT void Remove(vtkInformationDoubleVectorKey* key);
00222 VTK_COMMON_EXPORT int Has(vtkInformationDoubleVectorKey* key);
00224
00226
00227 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00228 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00229 VTK_COMMON_EXPORT void Set(vtkInformationKeyVectorKey* key, vtkInformationKey** value, int length);
00230 VTK_COMMON_EXPORT void Remove(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00231 VTK_COMMON_EXPORT vtkInformationKey** Get(vtkInformationKeyVectorKey* key);
00232 VTK_COMMON_EXPORT vtkInformationKey* Get(vtkInformationKeyVectorKey* key, int idx);
00233 VTK_COMMON_EXPORT void Get(vtkInformationKeyVectorKey* key, vtkInformationKey** value);
00234 VTK_COMMON_EXPORT int Length(vtkInformationKeyVectorKey* key);
00235 VTK_COMMON_EXPORT void Remove(vtkInformationKeyVectorKey* key);
00236 VTK_COMMON_EXPORT int Has(vtkInformationKeyVectorKey* key);
00238
00239
00240
00241
00242
00243
00244 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00245 vtkInformationDataObjectKey* value);
00246 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationDoubleKey* value);
00247 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00248 vtkInformationDoubleVectorKey* value);
00249 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00250 vtkInformationInformationKey* value);
00251 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00252 vtkInformationInformationVectorKey* value);
00253 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00254 vtkInformationIntegerKey* value);
00255 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00256 vtkInformationIntegerVectorKey* value);
00257 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationStringKey* value);
00258 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00259 vtkInformationStringVectorKey* value);
00260 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00261 vtkInformationObjectBaseKey* value);
00262 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00263 vtkInformationUnsignedLongKey* value);
00264
00265 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00266 vtkInformationDataObjectKey* value);
00267 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00268 vtkInformationDoubleKey* value);
00269 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00270 vtkInformationDoubleVectorKey* value);
00271 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00272 vtkInformationInformationKey* value);
00273 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00274 vtkInformationInformationVectorKey* value);
00275 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00276 vtkInformationIntegerKey* value);
00277 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00278 vtkInformationIntegerVectorKey* value);
00279 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00280 vtkInformationStringKey* value);
00281 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00282 vtkInformationStringVectorKey* value);
00283 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00284 vtkInformationObjectBaseKey* value);
00285 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00286 vtkInformationUnsignedLongKey* value);
00287
00288
00290
00291 VTK_COMMON_EXPORT void Set(vtkInformationStringKey* key, const char*);
00292 VTK_COMMON_EXPORT const char* Get(vtkInformationStringKey* key);
00293 VTK_COMMON_EXPORT void Remove(vtkInformationStringKey* key);
00294 VTK_COMMON_EXPORT int Has(vtkInformationStringKey* key);
00296
00298
00299 VTK_COMMON_EXPORT void Set(vtkInformationInformationKey* key, vtkInformation*);
00300 VTK_COMMON_EXPORT vtkInformation* Get(vtkInformationInformationKey* key);
00301 VTK_COMMON_EXPORT void Remove(vtkInformationInformationKey* key);
00302 VTK_COMMON_EXPORT int Has(vtkInformationInformationKey* key);
00304
00306
00307 VTK_COMMON_EXPORT void Set(vtkInformationInformationVectorKey* key, vtkInformationVector*);
00308 VTK_COMMON_EXPORT vtkInformationVector* Get(vtkInformationInformationVectorKey* key);
00309 VTK_COMMON_EXPORT void Remove(vtkInformationInformationVectorKey* key);
00310 VTK_COMMON_EXPORT int Has(vtkInformationInformationVectorKey* key);
00312
00314
00315 VTK_COMMON_EXPORT void Set(vtkInformationObjectBaseKey* key, vtkObjectBase*);
00316 VTK_COMMON_EXPORT vtkObjectBase* Get(vtkInformationObjectBaseKey* key);
00317 VTK_COMMON_EXPORT void Remove(vtkInformationObjectBaseKey* key);
00318 VTK_COMMON_EXPORT int Has(vtkInformationObjectBaseKey* key);
00320
00322
00323 VTK_COMMON_EXPORT void Set(vtkInformationDataObjectKey* key,
00324 vtkDataObject VTK_WRAP_EXTERN *);
00325 VTK_COMMON_EXPORT vtkDataObject VTK_WRAP_EXTERN* Get(vtkInformationDataObjectKey* key);
00326 VTK_COMMON_EXPORT void Remove(vtkInformationDataObjectKey* key);
00327 VTK_COMMON_EXPORT int Has(vtkInformationDataObjectKey* key);
00329
00331
00332 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDataObjectKey* key);
00333 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDoubleKey* key);
00334 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDoubleVectorKey* key);
00335 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationInformationKey* key);
00336 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationInformationVectorKey* key);
00337 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationIntegerKey* key);
00338 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationIntegerVectorKey* key);
00339 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationRequestKey* key);
00340 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationStringKey* key);
00341 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationStringVectorKey* key);
00342 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationKey* key);
00343 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationUnsignedLongKey* key);
00345
00347
00348 VTK_COMMON_EXPORT virtual void Register(vtkObjectBase* o);
00349 VTK_COMMON_EXPORT virtual void UnRegister(vtkObjectBase* o);
00351
00353
00354 VTK_COMMON_EXPORT void SetRequest(vtkInformationRequestKey* request);
00355 VTK_COMMON_EXPORT vtkInformationRequestKey* GetRequest();
00357
00358
00364 VTK_LEGACY(VTK_FILTERING_EXPORT void CopyEntry(vtkInformation* from, vtkInformationExecutivePortKey* key, int deep=0));
00365
00367
00369 VTK_LEGACY(VTK_FILTERING_EXPORT void Append(
00370 vtkInformationKeyVectorKey* key,
00371 vtkInformationExecutivePortKey* value));
00372
00373
00374
00375 VTK_LEGACY(VTK_FILTERING_EXPORT void AppendUnique(
00376 vtkInformationKeyVectorKey* key,
00377 vtkInformationExecutivePortKey* value));
00379
00381
00384 VTK_LEGACY(VTK_FILTERING_EXPORT
00385 void Set(vtkInformationExecutivePortKey* key, vtkExecutive*, int));
00386
00387
00388
00389 VTK_LEGACY(VTK_FILTERING_EXPORT
00390 vtkExecutive* GetExecutive(vtkInformationExecutivePortKey* key));
00391
00392
00393
00394 VTK_LEGACY(VTK_FILTERING_EXPORT
00395 int GetPort(vtkInformationExecutivePortKey* key));
00396
00397
00398
00399 VTK_LEGACY(VTK_FILTERING_EXPORT
00400 void Get(vtkInformationExecutivePortKey* key, vtkExecutive*& executive, int &port));
00401
00402
00403
00404 VTK_LEGACY(VTK_FILTERING_EXPORT
00405 void Remove(vtkInformationExecutivePortKey* key));
00406
00407
00408
00409 VTK_LEGACY(VTK_FILTERING_EXPORT
00410 int Has(vtkInformationExecutivePortKey* key));
00412
00414
00417 VTK_LEGACY(VTK_FILTERING_EXPORT
00418 void Append(vtkInformationExecutivePortVectorKey* key,
00419 vtkExecutive* executive, int port));
00420
00421
00422
00423 VTK_LEGACY(VTK_FILTERING_EXPORT
00424 void Remove(vtkInformationExecutivePortVectorKey* key,
00425 vtkExecutive* executive, int port));
00426
00427
00428
00429 VTK_LEGACY(VTK_FILTERING_EXPORT
00430 void Set(vtkInformationExecutivePortVectorKey* key,
00431 vtkExecutive** executives, int* ports, int length));
00432
00433
00434
00435 VTK_LEGACY(VTK_FILTERING_EXPORT
00436 vtkExecutive** GetExecutives(vtkInformationExecutivePortVectorKey* key));
00437
00438
00439
00440 VTK_LEGACY(VTK_FILTERING_EXPORT
00441 int* GetPorts(vtkInformationExecutivePortVectorKey* key));
00442
00443
00444
00445 VTK_LEGACY(VTK_FILTERING_EXPORT
00446 void Get(vtkInformationExecutivePortVectorKey* key,
00447 vtkExecutive** executives, int* ports));
00448
00449
00450
00451 VTK_LEGACY(VTK_FILTERING_EXPORT
00452 int Length(vtkInformationExecutivePortVectorKey* key));
00453
00454
00455
00456 VTK_LEGACY(VTK_FILTERING_EXPORT
00457 void Remove(vtkInformationExecutivePortVectorKey* key));
00458
00459
00460
00461 VTK_LEGACY(VTK_FILTERING_EXPORT
00462 int Has(vtkInformationExecutivePortVectorKey* key));
00464
00466
00468 VTK_LEGACY(VTK_FILTERING_EXPORT
00469 static vtkInformationKey* GetKey(vtkInformationExecutivePortKey* key));
00470
00472
00473 protected:
00474 VTK_COMMON_EXPORT vtkInformation();
00475 VTK_COMMON_EXPORT ~vtkInformation();
00476
00477
00478
00479 VTK_COMMON_EXPORT void SetAsObjectBase(vtkInformationKey* key, vtkObjectBase* value);
00480 VTK_COMMON_EXPORT vtkObjectBase* GetAsObjectBase(vtkInformationKey* key);
00481
00482
00483 vtkInformationInternals* Internal;
00484
00485
00486 VTK_COMMON_EXPORT virtual void ReportReferences(vtkGarbageCollector*);
00487
00488
00489 VTK_COMMON_EXPORT void ReportAsObjectBase(vtkInformationKey* key,
00490 vtkGarbageCollector* collector);
00491
00492 private:
00493
00494 friend class vtkInformationKeyToInformationFriendship;
00495 friend class vtkInformationIterator;
00496
00497 private:
00498 VTK_COMMON_EXPORT vtkInformation(const vtkInformation&);
00499 VTK_COMMON_EXPORT void operator=(const vtkInformation&);
00500 vtkInformationRequestKey *Request;
00501 };
00502
00503 #endif