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
00080 VTK_COMMON_EXPORT void Modified();
00081
00085 VTK_COMMON_EXPORT void Modified(vtkInformationKey* key);
00086
00088 VTK_COMMON_EXPORT void Clear();
00089
00092 VTK_COMMON_EXPORT int GetNumberOfKeys();
00093
00099 VTK_COMMON_EXPORT void Copy(vtkInformation* from, int deep=0);
00100
00102
00106 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationKey* key, int deep=0);
00107 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationDataObjectKey* key, int deep=0);
00108 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationDoubleVectorKey* key, int deep=0);
00109 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationInformationKey* key, int deep=0);
00110 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationInformationVectorKey* key, int deep=0);
00111 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationIntegerKey* key, int deep=0);
00112 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationIntegerVectorKey* key, int deep=0);
00113 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationRequestKey* key, int deep=0);
00114 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationStringKey* key, int deep=0);
00115 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationStringVectorKey* key, int deep=0);
00116 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationUnsignedLongKey* key, int deep=0);
00118
00123 VTK_COMMON_EXPORT void CopyEntries(vtkInformation* from, vtkInformationKeyVectorKey* key, int deep=0);
00124
00126 VTK_COMMON_EXPORT int Has(vtkInformationKey* key);
00127
00129 VTK_COMMON_EXPORT void Remove(vtkInformationKey* key);
00130
00132
00133 VTK_COMMON_EXPORT void Set(vtkInformationRequestKey* key);
00134 VTK_COMMON_EXPORT void Remove(vtkInformationRequestKey* key);
00135 VTK_COMMON_EXPORT int Has(vtkInformationRequestKey* key);
00137
00139
00140 VTK_COMMON_EXPORT void Set(vtkInformationIntegerKey* key, int value);
00141 VTK_COMMON_EXPORT int Get(vtkInformationIntegerKey* key);
00142 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerKey* key);
00143 VTK_COMMON_EXPORT int Has(vtkInformationIntegerKey* key);
00145
00147
00148 VTK_COMMON_EXPORT void Set(vtkInformationIdTypeKey* key, vtkIdType value);
00149 VTK_COMMON_EXPORT vtkIdType Get(vtkInformationIdTypeKey* key);
00150 VTK_COMMON_EXPORT void Remove(vtkInformationIdTypeKey* key);
00151 VTK_COMMON_EXPORT int Has(vtkInformationIdTypeKey* key);
00153
00155
00156 VTK_COMMON_EXPORT void Set(vtkInformationDoubleKey* key, double value);
00157 VTK_COMMON_EXPORT double Get(vtkInformationDoubleKey* key);
00158 VTK_COMMON_EXPORT void Remove(vtkInformationDoubleKey* key);
00159 VTK_COMMON_EXPORT int Has(vtkInformationDoubleKey* key);
00161
00163
00164 VTK_COMMON_EXPORT void Append(vtkInformationIntegerVectorKey* key, int value);
00165 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, int* value, int length);
00166 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, int value1,
00167 int value2, int value3);
00168 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key,
00169 int value1, int value2, int value3,
00170 int value4, int value5, int value6);
00171 VTK_COMMON_EXPORT int* Get(vtkInformationIntegerVectorKey* key);
00172 VTK_COMMON_EXPORT int Get(vtkInformationIntegerVectorKey* key, int idx);
00173 VTK_COMMON_EXPORT void Get(vtkInformationIntegerVectorKey* key, int* value);
00174 VTK_COMMON_EXPORT int Length(vtkInformationIntegerVectorKey* key);
00175 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerVectorKey* key);
00176 VTK_COMMON_EXPORT int Has(vtkInformationIntegerVectorKey* key);
00178
00180
00181 VTK_COMMON_EXPORT void Append(vtkInformationStringVectorKey* key, const char* value);
00182 VTK_COMMON_EXPORT void Set(vtkInformationStringVectorKey* key, const char* value, int idx = 0);
00183 VTK_COMMON_EXPORT const char* Get(vtkInformationStringVectorKey* key, int idx = 0);
00184 VTK_COMMON_EXPORT int Length(vtkInformationStringVectorKey* key);
00185 VTK_COMMON_EXPORT void Remove(vtkInformationStringVectorKey* key);
00186 VTK_COMMON_EXPORT int Has(vtkInformationStringVectorKey* key);
00188
00190
00191 VTK_COMMON_EXPORT void Set(vtkInformationIntegerPointerKey* key, int* value, int length);
00192 VTK_COMMON_EXPORT int* Get(vtkInformationIntegerPointerKey* key);
00193 VTK_COMMON_EXPORT void Get(vtkInformationIntegerPointerKey* key, int* value);
00194 VTK_COMMON_EXPORT int Length(vtkInformationIntegerPointerKey* key);
00195 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerPointerKey* key);
00196 VTK_COMMON_EXPORT int Has(vtkInformationIntegerPointerKey* key);
00198
00200
00201 VTK_COMMON_EXPORT void Set(vtkInformationUnsignedLongKey* key, unsigned long value);
00202 VTK_COMMON_EXPORT unsigned long Get(vtkInformationUnsignedLongKey* key);
00203 VTK_COMMON_EXPORT void Remove(vtkInformationUnsignedLongKey* key);
00204 VTK_COMMON_EXPORT int Has(vtkInformationUnsignedLongKey* key);
00206
00208
00209 VTK_COMMON_EXPORT void Append(vtkInformationDoubleVectorKey* key, double value);
00210 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, double* value, int length);
00211 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, double value1,
00212 double value2, double value3);
00213 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key,
00214 double value1, double value2, double value3,
00215 double value4, double value5, double value6);
00216 VTK_COMMON_EXPORT double* Get(vtkInformationDoubleVectorKey* key);
00217 VTK_COMMON_EXPORT double Get(vtkInformationDoubleVectorKey* key, int idx);
00218 VTK_COMMON_EXPORT void Get(vtkInformationDoubleVectorKey* key, double* value);
00219 VTK_COMMON_EXPORT int Length(vtkInformationDoubleVectorKey* key);
00220 VTK_COMMON_EXPORT void Remove(vtkInformationDoubleVectorKey* key);
00221 VTK_COMMON_EXPORT int Has(vtkInformationDoubleVectorKey* key);
00223
00225
00226 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00227 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00228 VTK_COMMON_EXPORT void Set(vtkInformationKeyVectorKey* key, vtkInformationKey** value, int length);
00229 VTK_COMMON_EXPORT void Remove(vtkInformationKeyVectorKey* key, vtkInformationKey* value);
00230 VTK_COMMON_EXPORT vtkInformationKey** Get(vtkInformationKeyVectorKey* key);
00231 VTK_COMMON_EXPORT vtkInformationKey* Get(vtkInformationKeyVectorKey* key, int idx);
00232 VTK_COMMON_EXPORT void Get(vtkInformationKeyVectorKey* key, vtkInformationKey** value);
00233 VTK_COMMON_EXPORT int Length(vtkInformationKeyVectorKey* key);
00234 VTK_COMMON_EXPORT void Remove(vtkInformationKeyVectorKey* key);
00235 VTK_COMMON_EXPORT int Has(vtkInformationKeyVectorKey* key);
00237
00238
00239
00240
00241
00242
00243 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00244 vtkInformationDataObjectKey* value);
00245 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationDoubleKey* value);
00246 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00247 vtkInformationDoubleVectorKey* value);
00248 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00249 vtkInformationInformationKey* value);
00250 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00251 vtkInformationInformationVectorKey* value);
00252 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00253 vtkInformationIntegerKey* value);
00254 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00255 vtkInformationIntegerVectorKey* value);
00256 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationStringKey* value);
00257 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00258 vtkInformationStringVectorKey* value);
00259 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00260 vtkInformationObjectBaseKey* value);
00261 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key,
00262 vtkInformationUnsignedLongKey* value);
00263
00264 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00265 vtkInformationDataObjectKey* value);
00266 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00267 vtkInformationDoubleKey* value);
00268 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00269 vtkInformationDoubleVectorKey* value);
00270 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00271 vtkInformationInformationKey* value);
00272 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00273 vtkInformationInformationVectorKey* value);
00274 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00275 vtkInformationIntegerKey* value);
00276 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00277 vtkInformationIntegerVectorKey* value);
00278 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00279 vtkInformationStringKey* value);
00280 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00281 vtkInformationStringVectorKey* value);
00282 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00283 vtkInformationObjectBaseKey* value);
00284 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key,
00285 vtkInformationUnsignedLongKey* value);
00286
00287
00289
00290 VTK_COMMON_EXPORT void Set(vtkInformationStringKey* key, const char*);
00291 VTK_COMMON_EXPORT const char* Get(vtkInformationStringKey* key);
00292 VTK_COMMON_EXPORT void Remove(vtkInformationStringKey* key);
00293 VTK_COMMON_EXPORT int Has(vtkInformationStringKey* key);
00295
00297
00298 VTK_COMMON_EXPORT void Set(vtkInformationInformationKey* key, vtkInformation*);
00299 VTK_COMMON_EXPORT vtkInformation* Get(vtkInformationInformationKey* key);
00300 VTK_COMMON_EXPORT void Remove(vtkInformationInformationKey* key);
00301 VTK_COMMON_EXPORT int Has(vtkInformationInformationKey* key);
00303
00305
00306 VTK_COMMON_EXPORT void Set(vtkInformationInformationVectorKey* key, vtkInformationVector*);
00307 VTK_COMMON_EXPORT vtkInformationVector* Get(vtkInformationInformationVectorKey* key);
00308 VTK_COMMON_EXPORT void Remove(vtkInformationInformationVectorKey* key);
00309 VTK_COMMON_EXPORT int Has(vtkInformationInformationVectorKey* key);
00311
00313
00314 VTK_COMMON_EXPORT void Set(vtkInformationObjectBaseKey* key, vtkObjectBase*);
00315 VTK_COMMON_EXPORT vtkObjectBase* Get(vtkInformationObjectBaseKey* key);
00316 VTK_COMMON_EXPORT void Remove(vtkInformationObjectBaseKey* key);
00317 VTK_COMMON_EXPORT int Has(vtkInformationObjectBaseKey* key);
00319
00321
00322 VTK_COMMON_EXPORT void Set(vtkInformationDataObjectKey* key, vtkDataObject*);
00323 VTK_COMMON_EXPORT vtkDataObject* Get(vtkInformationDataObjectKey* key);
00324 VTK_COMMON_EXPORT void Remove(vtkInformationDataObjectKey* key);
00325 VTK_COMMON_EXPORT int Has(vtkInformationDataObjectKey* key);
00327
00329
00330 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDataObjectKey* key);
00331 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDoubleKey* key);
00332 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDoubleVectorKey* key);
00333 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationInformationKey* key);
00334 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationInformationVectorKey* key);
00335 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationIntegerKey* key);
00336 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationIntegerVectorKey* key);
00337 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationRequestKey* key);
00338 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationStringKey* key);
00339 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationStringVectorKey* key);
00340 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationKey* key);
00341 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationUnsignedLongKey* key);
00343
00345
00346 VTK_COMMON_EXPORT virtual void Register(vtkObjectBase* o);
00347 VTK_COMMON_EXPORT virtual void UnRegister(vtkObjectBase* o);
00349
00351
00352 VTK_COMMON_EXPORT void SetRequest(vtkInformationRequestKey* request);
00353 VTK_COMMON_EXPORT vtkInformationRequestKey* GetRequest();
00355
00356
00362 VTK_LEGACY(VTK_FILTERING_EXPORT void CopyEntry(vtkInformation* from, vtkInformationExecutivePortKey* key, int deep=0));
00363
00365
00367 VTK_LEGACY(VTK_FILTERING_EXPORT void Append(
00368 vtkInformationKeyVectorKey* key,
00369 vtkInformationExecutivePortKey* value));
00370
00371
00372
00373 VTK_LEGACY(VTK_FILTERING_EXPORT void AppendUnique(
00374 vtkInformationKeyVectorKey* key,
00375 vtkInformationExecutivePortKey* value));
00377
00379
00382 VTK_LEGACY(VTK_FILTERING_EXPORT
00383 void Set(vtkInformationExecutivePortKey* key, vtkExecutive*, int));
00384
00385
00386
00387 VTK_LEGACY(VTK_FILTERING_EXPORT
00388 vtkExecutive* GetExecutive(vtkInformationExecutivePortKey* key));
00389
00390
00391
00392 VTK_LEGACY(VTK_FILTERING_EXPORT
00393 int GetPort(vtkInformationExecutivePortKey* key));
00394
00395
00396
00397 VTK_LEGACY(VTK_FILTERING_EXPORT
00398 void Get(vtkInformationExecutivePortKey* key, vtkExecutive*& executive, int &port));
00399
00400
00401
00402 VTK_LEGACY(VTK_FILTERING_EXPORT
00403 void Remove(vtkInformationExecutivePortKey* key));
00404
00405
00406
00407 VTK_LEGACY(VTK_FILTERING_EXPORT
00408 int Has(vtkInformationExecutivePortKey* key));
00410
00412
00415 VTK_LEGACY(VTK_FILTERING_EXPORT
00416 void Append(vtkInformationExecutivePortVectorKey* key,
00417 vtkExecutive* executive, int port));
00418
00419
00420
00421 VTK_LEGACY(VTK_FILTERING_EXPORT
00422 void Remove(vtkInformationExecutivePortVectorKey* key,
00423 vtkExecutive* executive, int port));
00424
00425
00426
00427 VTK_LEGACY(VTK_FILTERING_EXPORT
00428 void Set(vtkInformationExecutivePortVectorKey* key,
00429 vtkExecutive** executives, int* ports, int length));
00430
00431
00432
00433 VTK_LEGACY(VTK_FILTERING_EXPORT
00434 vtkExecutive** GetExecutives(vtkInformationExecutivePortVectorKey* key));
00435
00436
00437
00438 VTK_LEGACY(VTK_FILTERING_EXPORT
00439 int* GetPorts(vtkInformationExecutivePortVectorKey* key));
00440
00441
00442
00443 VTK_LEGACY(VTK_FILTERING_EXPORT
00444 void Get(vtkInformationExecutivePortVectorKey* key,
00445 vtkExecutive** executives, int* ports));
00446
00447
00448
00449 VTK_LEGACY(VTK_FILTERING_EXPORT
00450 int Length(vtkInformationExecutivePortVectorKey* key));
00451
00452
00453
00454 VTK_LEGACY(VTK_FILTERING_EXPORT
00455 void Remove(vtkInformationExecutivePortVectorKey* key));
00456
00457
00458
00459 VTK_LEGACY(VTK_FILTERING_EXPORT
00460 int Has(vtkInformationExecutivePortVectorKey* key));
00462
00464
00466 VTK_LEGACY(VTK_FILTERING_EXPORT
00467 static vtkInformationKey* GetKey(vtkInformationExecutivePortKey* key));
00468
00470
00471 protected:
00472 VTK_COMMON_EXPORT vtkInformation();
00473 VTK_COMMON_EXPORT ~vtkInformation();
00474
00475
00476
00477 VTK_COMMON_EXPORT void SetAsObjectBase(vtkInformationKey* key, vtkObjectBase* value);
00478 VTK_COMMON_EXPORT vtkObjectBase* GetAsObjectBase(vtkInformationKey* key);
00479
00480
00481 VTK_COMMON_EXPORT void ExpandTable();
00482
00483
00484 vtkInformationInternals* Internal;
00485
00486
00487 VTK_COMMON_EXPORT virtual void ReportReferences(vtkGarbageCollector*);
00488
00489
00490 VTK_COMMON_EXPORT void ReportAsObjectBase(vtkInformationKey* key,
00491 vtkGarbageCollector* collector);
00492
00493 private:
00494
00495 friend class vtkInformationKeyToInformationFriendship;
00496 friend class vtkInformationIterator;
00497
00498 private:
00499 VTK_COMMON_EXPORT vtkInformation(const vtkInformation&);
00500 VTK_COMMON_EXPORT void operator=(const vtkInformation&);
00501 vtkInformationRequestKey *Request;
00502 };
00503
00504 #endif