VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkInformation.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00036 #ifndef __vtkInformation_h 00037 #define __vtkInformation_h 00038 00039 #include "vtkObject.h" 00040 00041 // If being "compiled" by gccxml, pretend VTK_COMMON_EXPORT is nothing 00042 // for this header file. The per-method usage of VTK_COMMON_EXPORT in 00043 // this header file leads to gccxml errors without this workaround. 00044 // 00045 #ifdef __GCCXML__ 00046 #undef VTK_COMMON_EXPORT 00047 #define VTK_COMMON_EXPORT 00048 #endif 00049 00050 class vtkDataObject; 00051 class vtkExecutive; 00052 class vtkInformationDataObjectKey; 00053 class vtkInformationDoubleKey; 00054 class vtkInformationDoubleVectorKey; 00055 class vtkInformationExecutivePortKey; 00056 class vtkInformationExecutivePortVectorKey; 00057 class vtkInformationIdTypeKey; 00058 class vtkInformationInformationKey; 00059 class vtkInformationInformationVectorKey; 00060 class vtkInformationIntegerKey; 00061 class vtkInformationIntegerPointerKey; 00062 class vtkInformationIntegerVectorKey; 00063 class vtkInformationInternals; 00064 class vtkInformationKey; 00065 class vtkInformationKeyToInformationFriendship; 00066 class vtkInformationKeyVectorKey; 00067 class vtkInformationObjectBaseKey; 00068 class vtkInformationRequestKey; 00069 class vtkInformationStringKey; 00070 class vtkInformationStringVectorKey; 00071 class vtkInformationUnsignedLongKey; 00072 class vtkInformationVector; 00073 00074 #if defined(_WIN32) || defined(__CYGWIN__) 00075 # define VTK_INFORMATION_EXPORT 00076 #else 00077 # define VTK_INFORMATION_EXPORT VTK_COMMON_EXPORT 00078 #endif 00079 00080 00081 class VTK_INFORMATION_EXPORT vtkInformation : public vtkObject 00082 { 00083 public: 00084 VTK_COMMON_EXPORT static vtkInformation *New(); 00085 vtkTypeMacro(vtkInformation,vtkObject); 00086 VTK_COMMON_EXPORT void PrintSelf(ostream& os, vtkIndent indent); 00087 VTK_COMMON_EXPORT void PrintKeys(ostream& os, vtkIndent indent); 00088 00091 VTK_COMMON_EXPORT void Modified(); 00092 00096 VTK_COMMON_EXPORT void Modified(vtkInformationKey* key); 00097 00099 VTK_COMMON_EXPORT void Clear(); 00100 00103 VTK_COMMON_EXPORT int GetNumberOfKeys(); 00104 00110 VTK_COMMON_EXPORT void Copy(vtkInformation* from, int deep=0); 00111 00113 00117 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationKey* key, int deep=0); 00118 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationDataObjectKey* key, int deep=0); 00119 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationDoubleVectorKey* key, int deep=0); 00120 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationInformationKey* key, int deep=0); 00121 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationInformationVectorKey* key, int deep=0); 00122 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationIntegerKey* key, int deep=0); 00123 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationIntegerVectorKey* key, int deep=0); 00124 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationRequestKey* key, int deep=0); 00125 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationStringKey* key, int deep=0); 00126 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationStringVectorKey* key, int deep=0); 00127 VTK_COMMON_EXPORT void CopyEntry(vtkInformation* from, vtkInformationUnsignedLongKey* key, int deep=0); 00129 00134 VTK_COMMON_EXPORT void CopyEntries(vtkInformation* from, vtkInformationKeyVectorKey* key, int deep=0); 00135 00137 VTK_COMMON_EXPORT int Has(vtkInformationKey* key); 00138 00140 VTK_COMMON_EXPORT void Remove(vtkInformationKey* key); 00141 00143 00144 VTK_COMMON_EXPORT void Set(vtkInformationRequestKey* key); 00145 VTK_COMMON_EXPORT void Remove(vtkInformationRequestKey* key); 00146 VTK_COMMON_EXPORT int Has(vtkInformationRequestKey* key); 00148 00150 00151 VTK_COMMON_EXPORT void Set(vtkInformationIntegerKey* key, int value); 00152 VTK_COMMON_EXPORT int Get(vtkInformationIntegerKey* key); 00153 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerKey* key); 00154 VTK_COMMON_EXPORT int Has(vtkInformationIntegerKey* key); 00156 00158 00159 VTK_COMMON_EXPORT void Set(vtkInformationIdTypeKey* key, vtkIdType value); 00160 VTK_COMMON_EXPORT vtkIdType Get(vtkInformationIdTypeKey* key); 00161 VTK_COMMON_EXPORT void Remove(vtkInformationIdTypeKey* key); 00162 VTK_COMMON_EXPORT int Has(vtkInformationIdTypeKey* key); 00164 00166 00167 VTK_COMMON_EXPORT void Set(vtkInformationDoubleKey* key, double value); 00168 VTK_COMMON_EXPORT double Get(vtkInformationDoubleKey* key); 00169 VTK_COMMON_EXPORT void Remove(vtkInformationDoubleKey* key); 00170 VTK_COMMON_EXPORT int Has(vtkInformationDoubleKey* key); 00172 00174 00175 VTK_COMMON_EXPORT void Append(vtkInformationIntegerVectorKey* key, int value); 00176 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, int* value, int length); 00177 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, int value1, 00178 int value2, int value3); 00179 VTK_COMMON_EXPORT void Set(vtkInformationIntegerVectorKey* key, 00180 int value1, int value2, int value3, 00181 int value4, int value5, int value6); 00182 VTK_COMMON_EXPORT int* Get(vtkInformationIntegerVectorKey* key); 00183 VTK_COMMON_EXPORT int Get(vtkInformationIntegerVectorKey* key, int idx); 00184 VTK_COMMON_EXPORT void Get(vtkInformationIntegerVectorKey* key, int* value); 00185 VTK_COMMON_EXPORT int Length(vtkInformationIntegerVectorKey* key); 00186 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerVectorKey* key); 00187 VTK_COMMON_EXPORT int Has(vtkInformationIntegerVectorKey* key); 00189 00191 00192 VTK_COMMON_EXPORT void Append(vtkInformationStringVectorKey* key, const char* value); 00193 VTK_COMMON_EXPORT void Set(vtkInformationStringVectorKey* key, const char* value, int idx = 0); 00194 VTK_COMMON_EXPORT const char* Get(vtkInformationStringVectorKey* key, int idx = 0); 00195 VTK_COMMON_EXPORT int Length(vtkInformationStringVectorKey* key); 00196 VTK_COMMON_EXPORT void Remove(vtkInformationStringVectorKey* key); 00197 VTK_COMMON_EXPORT int Has(vtkInformationStringVectorKey* key); 00199 00201 00202 VTK_COMMON_EXPORT void Set(vtkInformationIntegerPointerKey* key, int* value, int length); 00203 VTK_COMMON_EXPORT int* Get(vtkInformationIntegerPointerKey* key); 00204 VTK_COMMON_EXPORT void Get(vtkInformationIntegerPointerKey* key, int* value); 00205 VTK_COMMON_EXPORT int Length(vtkInformationIntegerPointerKey* key); 00206 VTK_COMMON_EXPORT void Remove(vtkInformationIntegerPointerKey* key); 00207 VTK_COMMON_EXPORT int Has(vtkInformationIntegerPointerKey* key); 00209 00211 00212 VTK_COMMON_EXPORT void Set(vtkInformationUnsignedLongKey* key, unsigned long value); 00213 VTK_COMMON_EXPORT unsigned long Get(vtkInformationUnsignedLongKey* key); 00214 VTK_COMMON_EXPORT void Remove(vtkInformationUnsignedLongKey* key); 00215 VTK_COMMON_EXPORT int Has(vtkInformationUnsignedLongKey* key); 00217 00219 00220 VTK_COMMON_EXPORT void Append(vtkInformationDoubleVectorKey* key, double value); 00221 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, double* value, int length); 00222 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, double value1, 00223 double value2, double value3); 00224 VTK_COMMON_EXPORT void Set(vtkInformationDoubleVectorKey* key, 00225 double value1, double value2, double value3, 00226 double value4, double value5, double value6); 00227 VTK_COMMON_EXPORT double* Get(vtkInformationDoubleVectorKey* key); 00228 VTK_COMMON_EXPORT double Get(vtkInformationDoubleVectorKey* key, int idx); 00229 VTK_COMMON_EXPORT void Get(vtkInformationDoubleVectorKey* key, double* value); 00230 VTK_COMMON_EXPORT int Length(vtkInformationDoubleVectorKey* key); 00231 VTK_COMMON_EXPORT void Remove(vtkInformationDoubleVectorKey* key); 00232 VTK_COMMON_EXPORT int Has(vtkInformationDoubleVectorKey* key); 00234 00236 00237 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationKey* value); 00238 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, vtkInformationKey* value); 00239 VTK_COMMON_EXPORT void Set(vtkInformationKeyVectorKey* key, vtkInformationKey** value, int length); 00240 VTK_COMMON_EXPORT void Remove(vtkInformationKeyVectorKey* key, vtkInformationKey* value); 00241 VTK_COMMON_EXPORT vtkInformationKey** Get(vtkInformationKeyVectorKey* key); 00242 VTK_COMMON_EXPORT vtkInformationKey* Get(vtkInformationKeyVectorKey* key, int idx); 00243 VTK_COMMON_EXPORT void Get(vtkInformationKeyVectorKey* key, vtkInformationKey** value); 00244 VTK_COMMON_EXPORT int Length(vtkInformationKeyVectorKey* key); 00245 VTK_COMMON_EXPORT void Remove(vtkInformationKeyVectorKey* key); 00246 VTK_COMMON_EXPORT int Has(vtkInformationKeyVectorKey* key); 00248 00249 // Provide extra overloads of this method to avoid requiring user 00250 // code to include the headers for these key types. Avoid wrapping 00251 // them because the original method can be called from the wrappers 00252 // anyway and this causes a python help string to be too long. 00253 //BTX 00254 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00255 vtkInformationDataObjectKey* value); 00256 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationDoubleKey* value); 00257 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00258 vtkInformationDoubleVectorKey* value); 00259 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00260 vtkInformationInformationKey* value); 00261 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00262 vtkInformationInformationVectorKey* value); 00263 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00264 vtkInformationIntegerKey* value); 00265 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00266 vtkInformationIntegerVectorKey* value); 00267 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, vtkInformationStringKey* value); 00268 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00269 vtkInformationStringVectorKey* value); 00270 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00271 vtkInformationObjectBaseKey* value); 00272 VTK_COMMON_EXPORT void Append(vtkInformationKeyVectorKey* key, 00273 vtkInformationUnsignedLongKey* value); 00274 00275 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00276 vtkInformationDataObjectKey* value); 00277 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00278 vtkInformationDoubleKey* value); 00279 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00280 vtkInformationDoubleVectorKey* value); 00281 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00282 vtkInformationInformationKey* value); 00283 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00284 vtkInformationInformationVectorKey* value); 00285 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00286 vtkInformationIntegerKey* value); 00287 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00288 vtkInformationIntegerVectorKey* value); 00289 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00290 vtkInformationStringKey* value); 00291 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00292 vtkInformationStringVectorKey* value); 00293 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00294 vtkInformationObjectBaseKey* value); 00295 VTK_COMMON_EXPORT void AppendUnique(vtkInformationKeyVectorKey* key, 00296 vtkInformationUnsignedLongKey* value); 00297 //ETX 00298 00300 00301 VTK_COMMON_EXPORT void Set(vtkInformationStringKey* key, const char*); 00302 VTK_COMMON_EXPORT const char* Get(vtkInformationStringKey* key); 00303 VTK_COMMON_EXPORT void Remove(vtkInformationStringKey* key); 00304 VTK_COMMON_EXPORT int Has(vtkInformationStringKey* key); 00306 00308 00309 VTK_COMMON_EXPORT void Set(vtkInformationInformationKey* key, vtkInformation*); 00310 VTK_COMMON_EXPORT vtkInformation* Get(vtkInformationInformationKey* key); 00311 VTK_COMMON_EXPORT void Remove(vtkInformationInformationKey* key); 00312 VTK_COMMON_EXPORT int Has(vtkInformationInformationKey* key); 00314 00316 00317 VTK_COMMON_EXPORT void Set(vtkInformationInformationVectorKey* key, vtkInformationVector*); 00318 VTK_COMMON_EXPORT vtkInformationVector* Get(vtkInformationInformationVectorKey* key); 00319 VTK_COMMON_EXPORT void Remove(vtkInformationInformationVectorKey* key); 00320 VTK_COMMON_EXPORT int Has(vtkInformationInformationVectorKey* key); 00322 00324 00325 VTK_COMMON_EXPORT void Set(vtkInformationObjectBaseKey* key, vtkObjectBase*); 00326 VTK_COMMON_EXPORT vtkObjectBase* Get(vtkInformationObjectBaseKey* key); 00327 VTK_COMMON_EXPORT void Remove(vtkInformationObjectBaseKey* key); 00328 VTK_COMMON_EXPORT int Has(vtkInformationObjectBaseKey* key); 00330 00332 00333 VTK_COMMON_EXPORT void Set(vtkInformationDataObjectKey* key, 00334 vtkDataObject VTK_WRAP_EXTERN *); 00335 VTK_COMMON_EXPORT vtkDataObject VTK_WRAP_EXTERN* Get(vtkInformationDataObjectKey* key); 00336 VTK_COMMON_EXPORT void Remove(vtkInformationDataObjectKey* key); 00337 VTK_COMMON_EXPORT int Has(vtkInformationDataObjectKey* key); 00339 00341 00342 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDataObjectKey* key); 00343 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDoubleKey* key); 00344 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationDoubleVectorKey* key); 00345 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationInformationKey* key); 00346 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationInformationVectorKey* key); 00347 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationIntegerKey* key); 00348 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationIntegerVectorKey* key); 00349 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationRequestKey* key); 00350 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationStringKey* key); 00351 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationStringVectorKey* key); 00352 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationKey* key); 00353 VTK_COMMON_EXPORT static vtkInformationKey* GetKey(vtkInformationUnsignedLongKey* key); 00355 00357 00358 VTK_COMMON_EXPORT virtual void Register(vtkObjectBase* o); 00359 VTK_COMMON_EXPORT virtual void UnRegister(vtkObjectBase* o); 00361 00363 00364 VTK_COMMON_EXPORT void SetRequest(vtkInformationRequestKey* request); 00365 VTK_COMMON_EXPORT vtkInformationRequestKey* GetRequest(); 00367 00368 //BTX 00374 VTK_LEGACY(VTK_FILTERING_EXPORT void CopyEntry(vtkInformation* from, vtkInformationExecutivePortKey* key, int deep=0)); 00375 00377 00379 VTK_LEGACY(VTK_FILTERING_EXPORT void Append( 00380 vtkInformationKeyVectorKey* key, 00381 vtkInformationExecutivePortKey* value)); 00382 // Description: 00383 // Append an InformationKey-vector-valued entry. 00384 // @deprecated Replaced by vtkInformationExecutivePortKey::AppendUnique() as of VTK 5.2. 00385 VTK_LEGACY(VTK_FILTERING_EXPORT void AppendUnique( 00386 vtkInformationKeyVectorKey* key, 00387 vtkInformationExecutivePortKey* value)); 00389 00391 00394 VTK_LEGACY(VTK_FILTERING_EXPORT 00395 void Set(vtkInformationExecutivePortKey* key, vtkExecutive*, int)); 00396 // Description: 00397 // Retrieve/Modify an entry storing a vtkExecutive/port number pair. 00398 // @deprecated Replaced by vtkInformationExecutivePortKey::GetExecutive() as of VTK 5.2. 00399 VTK_LEGACY(VTK_FILTERING_EXPORT 00400 vtkExecutive* GetExecutive(vtkInformationExecutivePortKey* key)); 00401 // Description: 00402 // Retrieve/Modify an entry storing a vtkExecutive/port number pair. 00403 // @deprecated Replaced by vtkInformationExecutivePortKey::GetPort() as of VTK 5.2. 00404 VTK_LEGACY(VTK_FILTERING_EXPORT 00405 int GetPort(vtkInformationExecutivePortKey* key)); 00406 // Description: 00407 // Retrieve/Modify an entry storing a vtkExecutive/port number pair. 00408 // @deprecated Replaced by vtkInformationExecutivePortKey::Get() as of VTK 5.2. 00409 VTK_LEGACY(VTK_FILTERING_EXPORT 00410 void Get(vtkInformationExecutivePortKey* key, vtkExecutive*& executive, int &port)); 00411 // Description: 00412 // Retrieve/Modify an entry storing a vtkExecutive/port number pair. 00413 // @deprecated Replaced by vtkInformationExecutivePortKey::Remove() as of VTK 5.2. 00414 VTK_LEGACY(VTK_FILTERING_EXPORT 00415 void Remove(vtkInformationExecutivePortKey* key)); 00416 // Description: 00417 // Retrieve/Modify an entry storing a vtkExecutive/port number pair. 00418 // @deprecated Replaced by vtkInformationExecutivePortKey::Has() as of VTK 5.2. 00419 VTK_LEGACY(VTK_FILTERING_EXPORT 00420 int Has(vtkInformationExecutivePortKey* key)); 00422 00424 00427 VTK_LEGACY(VTK_FILTERING_EXPORT 00428 void Append(vtkInformationExecutivePortVectorKey* key, 00429 vtkExecutive* executive, int port)); 00430 // Description: 00431 // Retrieve/Modify an entry storing a vector of vtkExecutive/port number pairs. 00432 // @deprecated Replaced by vtkInformationExecutivePortVectorKey::Remove() as of VTK 5.2. 00433 VTK_LEGACY(VTK_FILTERING_EXPORT 00434 void Remove(vtkInformationExecutivePortVectorKey* key, 00435 vtkExecutive* executive, int port)); 00436 // Description: 00437 // Retrieve/Modify an entry storing a vector of vtkExecutive/port number pairs. 00438 // @deprecated Replaced by vtkInformationExecutivePortVectorKey::Set() as of VTK 5.2. 00439 VTK_LEGACY(VTK_FILTERING_EXPORT 00440 void Set(vtkInformationExecutivePortVectorKey* key, 00441 vtkExecutive** executives, int* ports, int length)); 00442 // Description: 00443 // Retrieve/Modify an entry storing a vector of vtkExecutive/port number pairs. 00444 // @deprecated Replaced by vtkInformationExecutivePortVectorKey::GetExecutives() as of VTK 5.2. 00445 VTK_LEGACY(VTK_FILTERING_EXPORT 00446 vtkExecutive** GetExecutives(vtkInformationExecutivePortVectorKey* key)); 00447 // Description: 00448 // Retrieve/Modify an entry storing a vector of vtkExecutive/port number pairs. 00449 // @deprecated Replaced by vtkInformationExecutivePortVectorKey::GetPorts() as of VTK 5.2. 00450 VTK_LEGACY(VTK_FILTERING_EXPORT 00451 int* GetPorts(vtkInformationExecutivePortVectorKey* key)); 00452 // Description: 00453 // Retrieve/Modify an entry storing a vector of vtkExecutive/port number pairs. 00454 // @deprecated Replaced by vtkInformationExecutivePortVectorKey::Get() as of VTK 5.2. 00455 VTK_LEGACY(VTK_FILTERING_EXPORT 00456 void Get(vtkInformationExecutivePortVectorKey* key, 00457 vtkExecutive** executives, int* ports)); 00458 // Description: 00459 // Retrieve/Modify an entry storing a vector of vtkExecutive/port number pairs. 00460 // @deprecated Replaced by vtkInformationExecutivePortVectorKey::Length() as of VTK 5.2. 00461 VTK_LEGACY(VTK_FILTERING_EXPORT 00462 int Length(vtkInformationExecutivePortVectorKey* key)); 00463 // Description: 00464 // Retrieve/Modify an entry storing a vector of vtkExecutive/port number pairs. 00465 // @deprecated Replaced by vtkInformationExecutivePortVectorKey::Remove() as of VTK 5.2. 00466 VTK_LEGACY(VTK_FILTERING_EXPORT 00467 void Remove(vtkInformationExecutivePortVectorKey* key)); 00468 // Description: 00469 // Retrieve/Modify an entry storing a vector of vtkExecutive/port number pairs. 00470 // @deprecated Replaced by vtkInformationExecutivePortVectorKey::Has() as of VTK 5.2. 00471 VTK_LEGACY(VTK_FILTERING_EXPORT 00472 int Has(vtkInformationExecutivePortVectorKey* key)); 00474 00476 00478 VTK_LEGACY(VTK_FILTERING_EXPORT 00479 static vtkInformationKey* GetKey(vtkInformationExecutivePortKey* key)); 00480 //ETX 00482 00483 protected: 00484 VTK_COMMON_EXPORT vtkInformation(); 00485 VTK_COMMON_EXPORT ~vtkInformation(); 00486 00487 // Get/Set a map entry directly through the vtkObjectBase instance 00488 // representing the value. Used internally to manage the map. 00489 VTK_COMMON_EXPORT void SetAsObjectBase(vtkInformationKey* key, vtkObjectBase* value); 00490 VTK_COMMON_EXPORT vtkObjectBase* GetAsObjectBase(vtkInformationKey* key); 00491 00492 // Internal implementation details. 00493 vtkInformationInternals* Internal; 00494 00495 // Garbage collection support. 00496 VTK_COMMON_EXPORT virtual void ReportReferences(vtkGarbageCollector*); 00497 00498 // Report the object associated with the given key to the collector. 00499 VTK_COMMON_EXPORT void ReportAsObjectBase(vtkInformationKey* key, 00500 vtkGarbageCollector* collector); 00501 00502 private: 00503 //BTX 00504 friend class vtkInformationKeyToInformationFriendship; 00505 friend class vtkInformationIterator; 00506 //ETX 00507 private: 00508 VTK_COMMON_EXPORT vtkInformation(const vtkInformation&); // Not implemented. 00509 VTK_COMMON_EXPORT void operator=(const vtkInformation&); // Not implemented. 00510 vtkInformationRequestKey *Request; 00511 }; 00512 00513 #endif