37 #define vtkInternalQuoteMacro(x) #x 38 #define vtkQuoteMacro(x) vtkInternalQuoteMacro(x) 41 #define vtkImageScalarTypeNameMacro(type) \ 42 (((type) == VTK_VOID) ? "void" : \ 43 (((type) == VTK_BIT) ? "bit" : \ 44 (((type) == VTK_CHAR) ? "char" : \ 45 (((type) == VTK_SIGNED_CHAR) ? "signed char" : \ 46 (((type) == VTK_UNSIGNED_CHAR) ? "unsigned char" : \ 47 (((type) == VTK_SHORT) ? "short" : \ 48 (((type) == VTK_UNSIGNED_SHORT) ? "unsigned short" : \ 49 (((type) == VTK_INT) ? "int" : \ 50 (((type) == VTK_UNSIGNED_INT) ? "unsigned int" : \ 51 (((type) == VTK_LONG) ? "long" : \ 52 (((type) == VTK_UNSIGNED_LONG) ? "unsigned long" : \ 53 (((type) == VTK_LONG_LONG) ? "long long" : \ 54 (((type) == VTK_UNSIGNED_LONG_LONG) ? "unsigned long long" : \ 55 (((type) == VTK___INT64) ? "__int64" : \ 56 (((type) == VTK_UNSIGNED___INT64) ? "unsigned __int64" : \ 57 (((type) == VTK_FLOAT) ? "float" : \ 58 (((type) == VTK_DOUBLE) ? "double" : \ 59 (((type) == VTK_ID_TYPE) ? "idtype" : \ 60 (((type) == VTK_STRING) ? "string" : \ 61 (((type) == VTK_UNICODE_STRING) ? "unicode string" : \ 62 (((type) == VTK_VARIANT) ? "variant" : \ 63 (((type) == VTK_OBJECT) ? "object" : \ 64 "Undefined")))))))))))))))))))))) 69 #define vtkSetMacro(name,type) \ 70 virtual void Set##name (type _arg) \ 72 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " #name " to " << _arg); \ 73 if (this->name != _arg) \ 83 #define vtkGetMacro(name,type) \ 84 virtual type Get##name () { \ 85 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " of " << this->name ); \ 94 #define vtkSetStringMacro(name) \ 95 virtual void Set##name (const char* _arg) \ 97 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to " << (_arg?_arg:"(null)") ); \ 98 if ( this->name == NULL && _arg == NULL) { return;} \ 99 if ( this->name && _arg && (!strcmp(this->name,_arg))) { return;} \ 100 delete [] this->name; \ 103 size_t n = strlen(_arg) + 1; \ 104 char *cp1 = new char[n]; \ 105 const char *cp2 = (_arg); \ 107 do { *cp1++ = *cp2++; } while ( --n ); \ 120 #define vtkGetStringMacro(name) \ 121 virtual char* Get##name () { \ 122 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " of " << (this->name?this->name:"(null)")); \ 133 #define vtkSetClampMacro(name,type,min,max) \ 134 virtual void Set##name (type _arg) \ 136 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to " << _arg ); \ 137 if (this->name != (_arg<min?min:(_arg>max?max:_arg))) \ 139 this->name = (_arg<min?min:(_arg>max?max:_arg)); \ 143 virtual type Get##name##MinValue () \ 147 virtual type Get##name##MaxValue () \ 159 #define vtkSetObjectBodyMacro(name,type,args) \ 161 vtkDebugMacro(<< this->GetClassName() << " (" << this \ 162 << "): setting " << #name " to " << args ); \ 163 if (this->name != args) \ 165 type* tempSGMacroVar = this->name; \ 167 if (this->name != NULL) { this->name->Register(this); } \ 168 if (tempSGMacroVar != NULL) \ 170 tempSGMacroVar->UnRegister(this); \ 181 #define vtkSetObjectMacro(name,type) \ 182 virtual void Set##name (type* _arg) \ 184 vtkSetObjectBodyMacro(name,type,_arg); \ 196 #define vtkSetObjectImplementationMacro(class,name,type) \ 197 vtkCxxSetObjectMacro(class,name,type) 199 #define vtkCxxSetObjectMacro(class,name,type) \ 200 void class::Set##name (type* _arg) \ 202 vtkSetObjectBodyMacro(name,type,_arg); \ 209 #define vtkGetNewMacro(name,type) \ 210 virtual type *Get##name () \ 212 vtkDebugMacro(<< this->GetClassName() << " (" << this \ 213 << "): returning " #name " address " \ 214 << this->name.GetPointer() ); \ 215 return this->name.GetPointer(); \ 222 #define vtkGetObjectMacro(name,type) \ 223 virtual type *Get##name () \ 225 vtkDebugMacro(<< this->GetClassName() << " (" << this \ 226 << "): returning " #name " address " << this->name ); \ 234 #define vtkBooleanMacro(name,type) \ 235 virtual void name##On () { this->Set##name(static_cast<type>(1));} \ 236 virtual void name##Off () { this->Set##name(static_cast<type>(0));} 244 #define vtkSetVector2Macro(name,type) \ 245 virtual void Set##name (type _arg1, type _arg2) \ 247 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to (" << _arg1 << "," << _arg2 << ")"); \ 248 if ((this->name[0] != _arg1)||(this->name[1] != _arg2)) \ 250 this->name[0] = _arg1; \ 251 this->name[1] = _arg2; \ 255 void Set##name (type _arg[2]) \ 257 this->Set##name (_arg[0], _arg[1]); \ 260 #define vtkGetVector2Macro(name,type) \ 261 virtual type *Get##name () \ 263 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 266 virtual void Get##name (type &_arg1, type &_arg2) \ 268 _arg1 = this->name[0]; \ 269 _arg2 = this->name[1]; \ 270 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " = (" << _arg1 << "," << _arg2 << ")"); \ 272 virtual void Get##name (type _arg[2]) \ 274 this->Get##name (_arg[0], _arg[1]);\ 277 #define vtkSetVector3Macro(name,type) \ 278 virtual void Set##name (type _arg1, type _arg2, type _arg3) \ 280 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to (" << _arg1 << "," << _arg2 << "," << _arg3 << ")"); \ 281 if ((this->name[0] != _arg1)||(this->name[1] != _arg2)||(this->name[2] != _arg3)) \ 283 this->name[0] = _arg1; \ 284 this->name[1] = _arg2; \ 285 this->name[2] = _arg3; \ 289 virtual void Set##name (type _arg[3]) \ 291 this->Set##name (_arg[0], _arg[1], _arg[2]);\ 294 #define vtkGetVector3Macro(name,type) \ 295 virtual type *Get##name () \ 297 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 300 virtual void Get##name (type &_arg1, type &_arg2, type &_arg3) \ 302 _arg1 = this->name[0]; \ 303 _arg2 = this->name[1]; \ 304 _arg3 = this->name[2]; \ 305 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " = (" << _arg1 << "," << _arg2 << "," << _arg3 << ")"); \ 307 virtual void Get##name (type _arg[3]) \ 309 this->Get##name (_arg[0], _arg[1], _arg[2]);\ 312 #define vtkSetVector4Macro(name,type) \ 313 virtual void Set##name (type _arg1, type _arg2, type _arg3, type _arg4) \ 315 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to (" << _arg1 << "," << _arg2 << "," << _arg3 << "," << _arg4 << ")"); \ 316 if ((this->name[0] != _arg1)||(this->name[1] != _arg2)||(this->name[2] != _arg3)||(this->name[3] != _arg4)) \ 318 this->name[0] = _arg1; \ 319 this->name[1] = _arg2; \ 320 this->name[2] = _arg3; \ 321 this->name[3] = _arg4; \ 325 virtual void Set##name (type _arg[4]) \ 327 this->Set##name (_arg[0], _arg[1], _arg[2], _arg[3]);\ 331 #define vtkGetVector4Macro(name,type) \ 332 virtual type *Get##name () \ 334 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 337 virtual void Get##name (type &_arg1, type &_arg2, type &_arg3, type &_arg4) \ 339 _arg1 = this->name[0]; \ 340 _arg2 = this->name[1]; \ 341 _arg3 = this->name[2]; \ 342 _arg4 = this->name[3]; \ 343 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " = (" << _arg1 << "," << _arg2 << "," << _arg3 << "," << _arg4 << ")"); \ 345 virtual void Get##name (type _arg[4]) \ 347 this->Get##name (_arg[0], _arg[1], _arg[2], _arg[3]);\ 350 #define vtkSetVector6Macro(name,type) \ 351 virtual void Set##name (type _arg1, type _arg2, type _arg3, type _arg4, type _arg5, type _arg6) \ 353 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to (" << _arg1 << "," << _arg2 << "," << _arg3 << "," << _arg4 << "," << _arg5 << "," << _arg6 << ")"); \ 354 if ((this->name[0] != _arg1)||(this->name[1] != _arg2)||(this->name[2] != _arg3)||(this->name[3] != _arg4)||(this->name[4] != _arg5)||(this->name[5] != _arg6)) \ 356 this->name[0] = _arg1; \ 357 this->name[1] = _arg2; \ 358 this->name[2] = _arg3; \ 359 this->name[3] = _arg4; \ 360 this->name[4] = _arg5; \ 361 this->name[5] = _arg6; \ 365 virtual void Set##name (type _arg[6]) \ 367 this->Set##name (_arg[0], _arg[1], _arg[2], _arg[3], _arg[4], _arg[5]);\ 370 #define vtkGetVector6Macro(name,type) \ 371 virtual type *Get##name () \ 373 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 376 virtual void Get##name (type &_arg1, type &_arg2, type &_arg3, type &_arg4, type &_arg5, type &_arg6) \ 378 _arg1 = this->name[0]; \ 379 _arg2 = this->name[1]; \ 380 _arg3 = this->name[2]; \ 381 _arg4 = this->name[3]; \ 382 _arg5 = this->name[4]; \ 383 _arg6 = this->name[5]; \ 384 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " = (" << _arg1 << "," << _arg2 << "," << _arg3 << "," << _arg4 << "," << _arg5 <<"," << _arg6 << ")"); \ 386 virtual void Get##name (type _arg[6]) \ 388 this->Get##name (_arg[0], _arg[1], _arg[2], _arg[3], _arg[4], _arg[5]);\ 396 #define vtkSetVectorMacro(name,type,count) \ 397 virtual void Set##name(type data[]) \ 400 for (i=0; i<count; i++) { if ( data[i] != this->name[i] ) { break; }} \ 403 for (i=0; i<count; i++) { this->name[i] = data[i]; }\ 414 #define vtkGetVectorMacro(name,type,count) \ 415 virtual type *Get##name () \ 417 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 420 virtual void Get##name (type data[count]) \ 422 for (int i=0; i<count; i++) { data[i] = this->name[i]; }\ 440 #define vtkGenericWarningMacro(x) \ 441 { if (vtkObject::GetGlobalWarningDisplay()) { \ 442 vtkOStreamWrapper::EndlType endl; \ 443 vtkOStreamWrapper::UseEndl(endl); \ 444 vtkOStrStreamWrapper vtkmsg; \ 445 vtkmsg << "Generic Warning: In " __FILE__ ", line " << __LINE__ << "\n" x \ 447 vtkOutputWindowDisplayGenericWarningText(vtkmsg.str());\ 448 vtkmsg.rdbuf()->freeze(0);}} 454 #define vtkDebugMacro(x) \ 455 vtkDebugWithObjectMacro(this,x) 461 #define vtkWarningMacro(x) \ 462 vtkWarningWithObjectMacro(this,x) 468 #define vtkErrorMacro(x) \ 469 vtkErrorWithObjectMacro(this,x) 475 #define vtkErrorWithObjectMacro(self, x) \ 477 if (vtkObject::GetGlobalWarningDisplay()) \ 479 vtkOStreamWrapper::EndlType endl; \ 480 vtkOStreamWrapper::UseEndl(endl); \ 481 vtkOStrStreamWrapper vtkmsg; \ 482 vtkmsg << "ERROR: In " __FILE__ ", line " << __LINE__ \ 483 << "\n" << self->GetClassName() << " (" << self \ 484 << "): " x << "\n\n"; \ 485 if ( self->HasObserver("ErrorEvent") ) \ 487 self->InvokeEvent("ErrorEvent", vtkmsg.str()); \ 491 vtkOutputWindowDisplayErrorText(vtkmsg.str()); \ 493 vtkmsg.rdbuf()->freeze(0); vtkObject::BreakOnError(); \ 501 #define vtkWarningWithObjectMacro(self, x) \ 503 if (vtkObject::GetGlobalWarningDisplay()) \ 505 vtkOStreamWrapper::EndlType endl; \ 506 vtkOStreamWrapper::UseEndl(endl); \ 507 vtkOStrStreamWrapper vtkmsg; \ 508 vtkmsg << "Warning: In " __FILE__ ", line " << __LINE__ \ 509 << "\n" << self->GetClassName() << " (" << self \ 510 << "): " x << "\n\n"; \ 511 if ( self->HasObserver("WarningEvent") ) \ 513 self->InvokeEvent("WarningEvent", vtkmsg.str()); \ 517 vtkOutputWindowDisplayWarningText(vtkmsg.str()); \ 519 vtkmsg.rdbuf()->freeze(0); \ 524 # define vtkDebugWithObjectMacro(self, x) 526 # define vtkDebugWithObjectMacro(self, x) \ 528 if (self->GetDebug() && vtkObject::GetGlobalWarningDisplay()) \ 530 vtkOStreamWrapper::EndlType endl; \ 531 vtkOStreamWrapper::UseEndl(endl); \ 532 vtkOStrStreamWrapper vtkmsg; \ 533 vtkmsg << "Debug: In " __FILE__ ", line " << __LINE__ << "\n" \ 534 << self->GetClassName() << " (" << self << "): " x << "\n\n"; \ 535 vtkOutputWindowDisplayDebugText(vtkmsg.str()); \ 536 vtkmsg.rdbuf()->freeze(0); \ 547 #define vtkNotUsed(x) 557 #define vtkMaybeUnused(reason) __attribute__((unused)) 559 #define vtkMaybeUnused(reason) 562 #define vtkWorldCoordinateMacro(name) \ 563 virtual vtkCoordinate *Get##name##Coordinate () \ 565 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " #name "Coordinate address " << this->name##Coordinate ); \ 566 return this->name##Coordinate; \ 568 virtual void Set##name(double x[3]) {this->Set##name(x[0],x[1],x[2]);}; \ 569 virtual void Set##name(double x, double y, double z) \ 571 this->name##Coordinate->SetValue(x,y,z); \ 573 virtual double *Get##name() \ 575 return this->name##Coordinate->GetValue(); \ 578 #define vtkViewportCoordinateMacro(name) \ 579 virtual vtkCoordinate *Get##name##Coordinate () \ 581 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " #name "Coordinate address " << this->name##Coordinate ); \ 582 return this->name##Coordinate; \ 584 virtual void Set##name(double x[2]) {this->Set##name(x[0],x[1]);}; \ 585 virtual void Set##name(double x, double y) \ 587 this->name##Coordinate->SetValue(x,y); \ 589 virtual double *Get##name() \ 591 return this->name##Coordinate->GetValue(); \ 596 #define vtkAbstractTypeMacroWithNewInstanceType(thisClass,superclass,instanceType) \ 597 typedef superclass Superclass; \ 599 virtual const char* GetClassNameInternal() const { return #thisClass; } \ 601 static int IsTypeOf(const char *type) \ 603 if ( !strcmp(#thisClass,type) ) \ 607 return superclass::IsTypeOf(type); \ 609 virtual int IsA(const char *type) \ 611 return this->thisClass::IsTypeOf(type); \ 613 static thisClass* SafeDownCast(vtkObjectBase *o) \ 615 if ( o && o->IsA(#thisClass) ) \ 617 return static_cast<thisClass *>(o); \ 621 instanceType *NewInstance() const \ 623 return instanceType::SafeDownCast(this->NewInstanceInternal()); \ 627 #define vtkAbstractTypeMacro(thisClass,superclass) \ 628 vtkAbstractTypeMacroWithNewInstanceType(thisClass, superclass, thisClass) 632 #define vtkTypeMacro(thisClass,superclass) \ 633 vtkAbstractTypeMacro(thisClass, superclass) \ 635 virtual vtkObjectBase *NewInstanceInternal() const \ 637 return thisClass::New(); \ 642 #if !defined(VTK_LEGACY_REMOVE) 643 # define vtkExportedTypeRevisionMacro(thisClass,superclass,dllExport) \ 644 vtkTypeMacro(thisClass,superclass) 645 # define vtkTypeRevisionMacro(thisClass,superclass) \ 646 vtkTypeMacro(thisClass,superclass) 647 # define vtkCxxRevisionMacro(thisClass, revision) 653 #define vtkInstantiatorNewMacro(thisClass) \ 654 extern vtkObject* vtkInstantiator##thisClass##New(); \ 655 vtkObject* vtkInstantiator##thisClass##New() \ 657 return thisClass::New(); \ 670 #define vtkTemplateMacroCase(typeN, type, call) \ 671 case typeN: { typedef type VTK_TT; call; }; break 672 #define vtkTemplateMacro(call) \ 673 vtkTemplateMacroCase(VTK_DOUBLE, double, call); \ 674 vtkTemplateMacroCase(VTK_FLOAT, float, call); \ 675 vtkTemplateMacroCase_ll(VTK_LONG_LONG, long long, call) \ 676 vtkTemplateMacroCase_ll(VTK_UNSIGNED_LONG_LONG, unsigned long long, call) \ 677 vtkTemplateMacroCase_si64(VTK___INT64, __int64, call) \ 678 vtkTemplateMacroCase_ui64(VTK_UNSIGNED___INT64, unsigned __int64, call) \ 679 vtkTemplateMacroCase(VTK_ID_TYPE, vtkIdType, call); \ 680 vtkTemplateMacroCase(VTK_LONG, long, call); \ 681 vtkTemplateMacroCase(VTK_UNSIGNED_LONG, unsigned long, call); \ 682 vtkTemplateMacroCase(VTK_INT, int, call); \ 683 vtkTemplateMacroCase(VTK_UNSIGNED_INT, unsigned int, call); \ 684 vtkTemplateMacroCase(VTK_SHORT, short, call); \ 685 vtkTemplateMacroCase(VTK_UNSIGNED_SHORT, unsigned short, call); \ 686 vtkTemplateMacroCase(VTK_CHAR, char, call); \ 687 vtkTemplateMacroCase(VTK_SIGNED_CHAR, signed char, call); \ 688 vtkTemplateMacroCase(VTK_UNSIGNED_CHAR, unsigned char, call) 691 #define vtkExtendedTemplateMacro(call) \ 692 vtkTemplateMacro(call); \ 693 vtkTemplateMacroCase(VTK_STRING, vtkStdString, call) 715 #define vtkArrayIteratorTemplateMacroCase(typeN, type, call) \ 716 vtkTemplateMacroCase(typeN, vtkArrayIteratorTemplate<type>, call) 717 #define vtkArrayIteratorTemplateMacro(call) \ 718 vtkArrayIteratorTemplateMacroCase(VTK_DOUBLE, double, call); \ 719 vtkArrayIteratorTemplateMacroCase(VTK_FLOAT, float, call); \ 720 vtkArrayIteratorTemplateMacroCase_ll(VTK_LONG_LONG, long long, call); \ 721 vtkArrayIteratorTemplateMacroCase_ll(VTK_UNSIGNED_LONG_LONG, unsigned long long, call);\ 722 vtkArrayIteratorTemplateMacroCase_si64(VTK___INT64, __int64, call); \ 723 vtkArrayIteratorTemplateMacroCase_ui64(VTK_UNSIGNED___INT64, unsigned __int64, call); \ 724 vtkArrayIteratorTemplateMacroCase(VTK_ID_TYPE, vtkIdType, call); \ 725 vtkArrayIteratorTemplateMacroCase(VTK_LONG, long, call); \ 726 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_LONG, unsigned long, call); \ 727 vtkArrayIteratorTemplateMacroCase(VTK_INT, int, call); \ 728 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_INT, unsigned int, call); \ 729 vtkArrayIteratorTemplateMacroCase(VTK_SHORT, short, call); \ 730 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_SHORT, unsigned short, call); \ 731 vtkArrayIteratorTemplateMacroCase(VTK_CHAR, char, call); \ 732 vtkArrayIteratorTemplateMacroCase(VTK_SIGNED_CHAR, signed char, call); \ 733 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_CHAR, unsigned char, call); \ 734 vtkArrayIteratorTemplateMacroCase(VTK_STRING, vtkStdString, call); \ 735 vtkTemplateMacroCase(VTK_BIT, vtkBitArrayIterator, call); 738 #if defined(VTK_TYPE_USE_LONG_LONG) 739 # define vtkTemplateMacroCase_ll(typeN, type, call) \ 740 vtkTemplateMacroCase(typeN, type, call); 741 # define vtkArrayIteratorTemplateMacroCase_ll(typeN, type, call) \ 742 vtkArrayIteratorTemplateMacroCase(typeN, type, call) 744 # define vtkTemplateMacroCase_ll(typeN, type, call) 745 # define vtkArrayIteratorTemplateMacroCase_ll(typeN, type, call) 749 #if defined(VTK_TYPE_USE___INT64) 750 # define vtkTemplateMacroCase_si64(typeN, type, call) \ 751 vtkTemplateMacroCase(typeN, type, call); 752 # define vtkArrayIteratorTemplateMacroCase_si64(typeN, type, call) \ 753 vtkArrayIteratorTemplateMacroCase(typeN, type, call) 755 # define vtkTemplateMacroCase_si64(typeN, type, call) 756 # define vtkArrayIteratorTemplateMacroCase_si64(typeN, type, call) 761 #if defined(VTK_TYPE_USE___INT64) && defined(VTK_TYPE_CONVERT_UI64_TO_DOUBLE) 762 # define vtkTemplateMacroCase_ui64(typeN, type, call) \ 763 vtkTemplateMacroCase(typeN, type, call); 764 # define vtkArrayIteratorTemplateMacroCase_ui64(typeN, type, call) \ 765 vtkArrayIteratorTemplateMacroCase(typeN, type, call); 767 # define vtkTemplateMacroCase_ui64(typeN, type, call) 768 # define vtkArrayIteratorTemplateMacroCase_ui64(typeN, type, call) 779 #if defined(VTK_LEGACY_REMOVE) 785 # define VTK_LEGACY(method) VTK_LEGACY__0(method,__LINE__) 786 # define VTK_LEGACY__0(method,line) VTK_LEGACY__1(method,line) 787 # define VTK_LEGACY__1(method,line) class vtkLegacyMethodRemoved##line 789 #elif defined(VTK_LEGACY_SILENT) || defined(VTK_WRAPPING_CXX) 791 # define VTK_LEGACY(method) method 795 # if defined(__GNUC__) && !defined(__INTEL_COMPILER) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) 796 # define VTK_LEGACY(method) method __attribute__((deprecated)) 797 # elif defined(_MSC_VER) 798 # define VTK_LEGACY(method) __declspec(deprecated) method 800 # define VTK_LEGACY(method) method 821 #if defined(VTK_LEGACY_REMOVE) || defined(VTK_LEGACY_SILENT) 822 # define VTK_LEGACY_BODY(method, version) 823 # define VTK_LEGACY_REPLACED_BODY(method, version, replace) 825 # define VTK_LEGACY_BODY(method, version) \ 826 vtkGenericWarningMacro(#method " was deprecated for " version " and will be removed in a future version.") 827 # define VTK_LEGACY_REPLACED_BODY(method, version, replace) \ 828 vtkGenericWarningMacro(#method " was deprecated for " version " and will be removed in a future version. Use " #replace " instead.") 833 #define VTK_WRAP_EXTERN VTKCOMMONCORE_EXPORT void vtkOutputWindowDisplayGenericWarningText(const char *)
VTKCOMMONCORE_EXPORT void vtkOutputWindowDisplayErrorText(const char *)
#define VTKCOMMONCORE_EXPORT
VTKCOMMONCORE_EXPORT void vtkOutputWindowDisplayDebugText(const char *)
VTKCOMMONCORE_EXPORT void vtkOutputWindowDisplayText(const char *)
VTKCOMMONCORE_EXPORT void vtkOutputWindowDisplayWarningText(const char *)