35 #if defined(_MSC_VER) && _MSC_VER <= 1400 36 # error VTK requires MSVC++ 9.0 aka Visual Studio 2008 or newer 39 #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1)) 40 # error VTK requires gcc 4.1 or newer 47 #define vtkInternalQuoteMacro(x) #x 48 #define vtkQuoteMacro(x) vtkInternalQuoteMacro(x) 51 #define vtkImageScalarTypeNameMacro(type) \ 52 (((type) == VTK_VOID) ? "void" : \ 53 (((type) == VTK_BIT) ? "bit" : \ 54 (((type) == VTK_CHAR) ? "char" : \ 55 (((type) == VTK_SIGNED_CHAR) ? "signed char" : \ 56 (((type) == VTK_UNSIGNED_CHAR) ? "unsigned char" : \ 57 (((type) == VTK_SHORT) ? "short" : \ 58 (((type) == VTK_UNSIGNED_SHORT) ? "unsigned short" : \ 59 (((type) == VTK_INT) ? "int" : \ 60 (((type) == VTK_UNSIGNED_INT) ? "unsigned int" : \ 61 (((type) == VTK_LONG) ? "long" : \ 62 (((type) == VTK_UNSIGNED_LONG) ? "unsigned long" : \ 63 (((type) == VTK_LONG_LONG) ? "long long" : \ 64 (((type) == VTK_UNSIGNED_LONG_LONG) ? "unsigned long long" : \ 65 (((type) == VTK___INT64) ? "__int64" : \ 66 (((type) == VTK_UNSIGNED___INT64) ? "unsigned __int64" : \ 67 (((type) == VTK_FLOAT) ? "float" : \ 68 (((type) == VTK_DOUBLE) ? "double" : \ 69 (((type) == VTK_ID_TYPE) ? "idtype" : \ 70 (((type) == VTK_STRING) ? "string" : \ 71 (((type) == VTK_UNICODE_STRING) ? "unicode string" : \ 72 (((type) == VTK_VARIANT) ? "variant" : \ 73 (((type) == VTK_OBJECT) ? "object" : \ 74 "Undefined")))))))))))))))))))))) 79 #define vtkSetMacro(name,type) \ 80 virtual void Set##name (type _arg) \ 82 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " #name " to " << _arg); \ 83 if (this->name != _arg) \ 93 #define vtkGetMacro(name,type) \ 94 virtual type Get##name () { \ 95 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " of " << this->name ); \ 104 #define vtkSetStringMacro(name) \ 105 virtual void Set##name (const char* _arg) \ 107 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to " << (_arg?_arg:"(null)") ); \ 108 if ( this->name == NULL && _arg == NULL) { return;} \ 109 if ( this->name && _arg && (!strcmp(this->name,_arg))) { return;} \ 110 delete [] this->name; \ 113 size_t n = strlen(_arg) + 1; \ 114 char *cp1 = new char[n]; \ 115 const char *cp2 = (_arg); \ 117 do { *cp1++ = *cp2++; } while ( --n ); \ 130 #define vtkGetStringMacro(name) \ 131 virtual char* Get##name () { \ 132 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " of " << (this->name?this->name:"(null)")); \ 143 #define vtkSetClampMacro(name,type,min,max) \ 144 virtual void Set##name (type _arg) \ 146 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to " << _arg ); \ 147 if (this->name != (_arg<min?min:(_arg>max?max:_arg))) \ 149 this->name = (_arg<min?min:(_arg>max?max:_arg)); \ 153 virtual type Get##name##MinValue () \ 157 virtual type Get##name##MaxValue () \ 169 #define vtkSetObjectBodyMacro(name,type,args) \ 171 vtkDebugMacro(<< this->GetClassName() << " (" << this \ 172 << "): setting " << #name " to " << args ); \ 173 if (this->name != args) \ 175 type* tempSGMacroVar = this->name; \ 177 if (this->name != NULL) { this->name->Register(this); } \ 178 if (tempSGMacroVar != NULL) \ 180 tempSGMacroVar->UnRegister(this); \ 191 #define vtkSetObjectMacro(name,type) \ 192 virtual void Set##name (type* _arg) \ 194 vtkSetObjectBodyMacro(name,type,_arg); \ 206 #define vtkSetObjectImplementationMacro(class,name,type) \ 207 vtkCxxSetObjectMacro(class,name,type) 209 #define vtkCxxSetObjectMacro(class,name,type) \ 210 void class::Set##name (type* _arg) \ 212 vtkSetObjectBodyMacro(name,type,_arg); \ 219 #define vtkGetNewMacro(name,type) \ 220 virtual type *Get##name () \ 222 vtkDebugMacro(<< this->GetClassName() << " (" << this \ 223 << "): returning " #name " address " \ 224 << this->name.GetPointer() ); \ 225 return this->name.GetPointer(); \ 232 #define vtkGetObjectMacro(name,type) \ 233 virtual type *Get##name () \ 235 vtkDebugMacro(<< this->GetClassName() << " (" << this \ 236 << "): returning " #name " address " << this->name ); \ 244 #define vtkBooleanMacro(name,type) \ 245 virtual void name##On () { this->Set##name(static_cast<type>(1));} \ 246 virtual void name##Off () { this->Set##name(static_cast<type>(0));} 254 #define vtkSetVector2Macro(name,type) \ 255 virtual void Set##name (type _arg1, type _arg2) \ 257 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to (" << _arg1 << "," << _arg2 << ")"); \ 258 if ((this->name[0] != _arg1)||(this->name[1] != _arg2)) \ 260 this->name[0] = _arg1; \ 261 this->name[1] = _arg2; \ 265 void Set##name (type _arg[2]) \ 267 this->Set##name (_arg[0], _arg[1]); \ 270 #define vtkGetVector2Macro(name,type) \ 271 virtual type *Get##name () \ 273 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 276 virtual void Get##name (type &_arg1, type &_arg2) \ 278 _arg1 = this->name[0]; \ 279 _arg2 = this->name[1]; \ 280 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " = (" << _arg1 << "," << _arg2 << ")"); \ 282 virtual void Get##name (type _arg[2]) \ 284 this->Get##name (_arg[0], _arg[1]);\ 287 #define vtkSetVector3Macro(name,type) \ 288 virtual void Set##name (type _arg1, type _arg2, type _arg3) \ 290 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to (" << _arg1 << "," << _arg2 << "," << _arg3 << ")"); \ 291 if ((this->name[0] != _arg1)||(this->name[1] != _arg2)||(this->name[2] != _arg3)) \ 293 this->name[0] = _arg1; \ 294 this->name[1] = _arg2; \ 295 this->name[2] = _arg3; \ 299 virtual void Set##name (type _arg[3]) \ 301 this->Set##name (_arg[0], _arg[1], _arg[2]);\ 304 #define vtkGetVector3Macro(name,type) \ 305 virtual type *Get##name () \ 307 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 310 virtual void Get##name (type &_arg1, type &_arg2, type &_arg3) \ 312 _arg1 = this->name[0]; \ 313 _arg2 = this->name[1]; \ 314 _arg3 = this->name[2]; \ 315 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " = (" << _arg1 << "," << _arg2 << "," << _arg3 << ")"); \ 317 virtual void Get##name (type _arg[3]) \ 319 this->Get##name (_arg[0], _arg[1], _arg[2]);\ 322 #define vtkSetVector4Macro(name,type) \ 323 virtual void Set##name (type _arg1, type _arg2, type _arg3, type _arg4) \ 325 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to (" << _arg1 << "," << _arg2 << "," << _arg3 << "," << _arg4 << ")"); \ 326 if ((this->name[0] != _arg1)||(this->name[1] != _arg2)||(this->name[2] != _arg3)||(this->name[3] != _arg4)) \ 328 this->name[0] = _arg1; \ 329 this->name[1] = _arg2; \ 330 this->name[2] = _arg3; \ 331 this->name[3] = _arg4; \ 335 virtual void Set##name (type _arg[4]) \ 337 this->Set##name (_arg[0], _arg[1], _arg[2], _arg[3]);\ 341 #define vtkGetVector4Macro(name,type) \ 342 virtual type *Get##name () \ 344 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 347 virtual void Get##name (type &_arg1, type &_arg2, type &_arg3, type &_arg4) \ 349 _arg1 = this->name[0]; \ 350 _arg2 = this->name[1]; \ 351 _arg3 = this->name[2]; \ 352 _arg4 = this->name[3]; \ 353 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " = (" << _arg1 << "," << _arg2 << "," << _arg3 << "," << _arg4 << ")"); \ 355 virtual void Get##name (type _arg[4]) \ 357 this->Get##name (_arg[0], _arg[1], _arg[2], _arg[3]);\ 360 #define vtkSetVector6Macro(name,type) \ 361 virtual void Set##name (type _arg1, type _arg2, type _arg3, type _arg4, type _arg5, type _arg6) \ 363 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to (" << _arg1 << "," << _arg2 << "," << _arg3 << "," << _arg4 << "," << _arg5 << "," << _arg6 << ")"); \ 364 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)) \ 366 this->name[0] = _arg1; \ 367 this->name[1] = _arg2; \ 368 this->name[2] = _arg3; \ 369 this->name[3] = _arg4; \ 370 this->name[4] = _arg5; \ 371 this->name[5] = _arg6; \ 375 virtual void Set##name (type _arg[6]) \ 377 this->Set##name (_arg[0], _arg[1], _arg[2], _arg[3], _arg[4], _arg[5]);\ 380 #define vtkGetVector6Macro(name,type) \ 381 virtual type *Get##name () \ 383 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 386 virtual void Get##name (type &_arg1, type &_arg2, type &_arg3, type &_arg4, type &_arg5, type &_arg6) \ 388 _arg1 = this->name[0]; \ 389 _arg2 = this->name[1]; \ 390 _arg3 = this->name[2]; \ 391 _arg4 = this->name[3]; \ 392 _arg5 = this->name[4]; \ 393 _arg6 = this->name[5]; \ 394 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " = (" << _arg1 << "," << _arg2 << "," << _arg3 << "," << _arg4 << "," << _arg5 <<"," << _arg6 << ")"); \ 396 virtual void Get##name (type _arg[6]) \ 398 this->Get##name (_arg[0], _arg[1], _arg[2], _arg[3], _arg[4], _arg[5]);\ 406 #define vtkSetVectorMacro(name,type,count) \ 407 virtual void Set##name(type data[]) \ 410 for (i=0; i<count; i++) { if ( data[i] != this->name[i] ) { break; }} \ 413 for (i=0; i<count; i++) { this->name[i] = data[i]; }\ 424 #define vtkGetVectorMacro(name,type,count) \ 425 virtual type *Get##name () \ 427 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " << #name " pointer " << this->name); \ 430 virtual void Get##name (type data[count]) \ 432 for (int i=0; i<count; i++) { data[i] = this->name[i]; }\ 450 #define vtkGenericWarningMacro(x) \ 451 { if (vtkObject::GetGlobalWarningDisplay()) { \ 452 vtkOStreamWrapper::EndlType endl; \ 453 vtkOStreamWrapper::UseEndl(endl); \ 454 vtkOStrStreamWrapper vtkmsg; \ 455 vtkmsg << "Generic Warning: In " __FILE__ ", line " << __LINE__ << "\n" x \ 457 vtkOutputWindowDisplayGenericWarningText(vtkmsg.str());\ 458 vtkmsg.rdbuf()->freeze(0);}} 464 #define vtkDebugMacro(x) \ 465 vtkDebugWithObjectMacro(this,x) 471 #define vtkWarningMacro(x) \ 472 vtkWarningWithObjectMacro(this,x) 478 #define vtkErrorMacro(x) \ 479 vtkErrorWithObjectMacro(this,x) 485 #define vtkErrorWithObjectMacro(self, x) \ 487 if (vtkObject::GetGlobalWarningDisplay()) \ 489 vtkOStreamWrapper::EndlType endl; \ 490 vtkOStreamWrapper::UseEndl(endl); \ 491 vtkOStrStreamWrapper vtkmsg; \ 492 vtkmsg << "ERROR: In " __FILE__ ", line " << __LINE__ \ 493 << "\n" << self->GetClassName() << " (" << self \ 494 << "): " x << "\n\n"; \ 495 if ( self->HasObserver("ErrorEvent") ) \ 497 self->InvokeEvent("ErrorEvent", vtkmsg.str()); \ 501 vtkOutputWindowDisplayErrorText(vtkmsg.str()); \ 503 vtkmsg.rdbuf()->freeze(0); vtkObject::BreakOnError(); \ 511 #define vtkWarningWithObjectMacro(self, x) \ 513 if (vtkObject::GetGlobalWarningDisplay()) \ 515 vtkOStreamWrapper::EndlType endl; \ 516 vtkOStreamWrapper::UseEndl(endl); \ 517 vtkOStrStreamWrapper vtkmsg; \ 518 vtkmsg << "Warning: In " __FILE__ ", line " << __LINE__ \ 519 << "\n" << self->GetClassName() << " (" << self \ 520 << "): " x << "\n\n"; \ 521 if ( self->HasObserver("WarningEvent") ) \ 523 self->InvokeEvent("WarningEvent", vtkmsg.str()); \ 527 vtkOutputWindowDisplayWarningText(vtkmsg.str()); \ 529 vtkmsg.rdbuf()->freeze(0); \ 534 # define vtkDebugWithObjectMacro(self, x) 536 # define vtkDebugWithObjectMacro(self, x) \ 538 if (self->GetDebug() && vtkObject::GetGlobalWarningDisplay()) \ 540 vtkOStreamWrapper::EndlType endl; \ 541 vtkOStreamWrapper::UseEndl(endl); \ 542 vtkOStrStreamWrapper vtkmsg; \ 543 vtkmsg << "Debug: In " __FILE__ ", line " << __LINE__ << "\n" \ 544 << self->GetClassName() << " (" << self << "): " x << "\n\n"; \ 545 vtkOutputWindowDisplayDebugText(vtkmsg.str()); \ 546 vtkmsg.rdbuf()->freeze(0); \ 557 #define vtkNotUsed(x) 567 #define vtkMaybeUnused(reason) __attribute__((unused)) 569 #define vtkMaybeUnused(reason) 572 #define vtkWorldCoordinateMacro(name) \ 573 virtual vtkCoordinate *Get##name##Coordinate () \ 575 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " #name "Coordinate address " << this->name##Coordinate ); \ 576 return this->name##Coordinate; \ 578 virtual void Set##name(double x[3]) {this->Set##name(x[0],x[1],x[2]);} \ 579 virtual void Set##name(double x, double y, double z) \ 581 this->name##Coordinate->SetValue(x,y,z); \ 583 virtual double *Get##name() \ 585 return this->name##Coordinate->GetValue(); \ 588 #define vtkViewportCoordinateMacro(name) \ 589 virtual vtkCoordinate *Get##name##Coordinate () \ 591 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " #name "Coordinate address " << this->name##Coordinate ); \ 592 return this->name##Coordinate; \ 594 virtual void Set##name(double x[2]) {this->Set##name(x[0],x[1]);} \ 595 virtual void Set##name(double x, double y) \ 597 this->name##Coordinate->SetValue(x,y); \ 599 virtual double *Get##name() \ 601 return this->name##Coordinate->GetValue(); \ 606 #define vtkAbstractTypeMacroWithNewInstanceType(thisClass,superclass,instanceType) \ 607 typedef superclass Superclass; \ 609 virtual const char* GetClassNameInternal() const { return #thisClass; } \ 611 static int IsTypeOf(const char *type) \ 613 if ( !strcmp(#thisClass,type) ) \ 617 return superclass::IsTypeOf(type); \ 619 virtual int IsA(const char *type) \ 621 return this->thisClass::IsTypeOf(type); \ 623 static thisClass* SafeDownCast(vtkObjectBase *o) \ 625 if ( o && o->IsA(#thisClass) ) \ 627 return static_cast<thisClass *>(o); \ 631 instanceType *NewInstance() const \ 633 return instanceType::SafeDownCast(this->NewInstanceInternal()); \ 637 #define vtkAbstractTypeMacro(thisClass,superclass) \ 638 vtkAbstractTypeMacroWithNewInstanceType(thisClass, superclass, thisClass) 642 #define vtkTypeMacro(thisClass,superclass) \ 643 vtkAbstractTypeMacro(thisClass, superclass) \ 645 virtual vtkObjectBase *NewInstanceInternal() const \ 647 return thisClass::New(); \ 654 #define vtkInstantiatorNewMacro(thisClass) \ 655 extern vtkObject* vtkInstantiator##thisClass##New(); \ 656 vtkObject* vtkInstantiator##thisClass##New() \ 658 return thisClass::New(); \ 671 #define vtkTemplateMacroCase(typeN, type, call) \ 672 case typeN: { typedef type VTK_TT; call; }; break 673 #define vtkTemplateMacro(call) \ 674 vtkTemplateMacroCase(VTK_DOUBLE, double, call); \ 675 vtkTemplateMacroCase(VTK_FLOAT, float, call); \ 676 vtkTemplateMacroCase_ll(VTK_LONG_LONG, long long, call) \ 677 vtkTemplateMacroCase_ll(VTK_UNSIGNED_LONG_LONG, unsigned long long, call) \ 678 vtkTemplateMacroCase_si64(VTK___INT64, __int64, call) \ 679 vtkTemplateMacroCase_ui64(VTK_UNSIGNED___INT64, unsigned __int64, call) \ 680 vtkTemplateMacroCase(VTK_ID_TYPE, vtkIdType, call); \ 681 vtkTemplateMacroCase(VTK_LONG, long, call); \ 682 vtkTemplateMacroCase(VTK_UNSIGNED_LONG, unsigned long, call); \ 683 vtkTemplateMacroCase(VTK_INT, int, call); \ 684 vtkTemplateMacroCase(VTK_UNSIGNED_INT, unsigned int, call); \ 685 vtkTemplateMacroCase(VTK_SHORT, short, call); \ 686 vtkTemplateMacroCase(VTK_UNSIGNED_SHORT, unsigned short, call); \ 687 vtkTemplateMacroCase(VTK_CHAR, char, call); \ 688 vtkTemplateMacroCase(VTK_SIGNED_CHAR, signed char, call); \ 689 vtkTemplateMacroCase(VTK_UNSIGNED_CHAR, unsigned char, call) 692 #define vtkExtendedTemplateMacro(call) \ 693 vtkTemplateMacro(call); \ 694 vtkTemplateMacroCase(VTK_STRING, vtkStdString, call) 716 #define vtkArrayIteratorTemplateMacroCase(typeN, type, call) \ 717 vtkTemplateMacroCase(typeN, vtkArrayIteratorTemplate<type>, call) 718 #define vtkArrayIteratorTemplateMacro(call) \ 719 vtkArrayIteratorTemplateMacroCase(VTK_DOUBLE, double, call); \ 720 vtkArrayIteratorTemplateMacroCase(VTK_FLOAT, float, call); \ 721 vtkArrayIteratorTemplateMacroCase_ll(VTK_LONG_LONG, long long, call); \ 722 vtkArrayIteratorTemplateMacroCase_ll(VTK_UNSIGNED_LONG_LONG, unsigned long long, call);\ 723 vtkArrayIteratorTemplateMacroCase_si64(VTK___INT64, __int64, call); \ 724 vtkArrayIteratorTemplateMacroCase_ui64(VTK_UNSIGNED___INT64, unsigned __int64, call); \ 725 vtkArrayIteratorTemplateMacroCase(VTK_ID_TYPE, vtkIdType, call); \ 726 vtkArrayIteratorTemplateMacroCase(VTK_LONG, long, call); \ 727 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_LONG, unsigned long, call); \ 728 vtkArrayIteratorTemplateMacroCase(VTK_INT, int, call); \ 729 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_INT, unsigned int, call); \ 730 vtkArrayIteratorTemplateMacroCase(VTK_SHORT, short, call); \ 731 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_SHORT, unsigned short, call); \ 732 vtkArrayIteratorTemplateMacroCase(VTK_CHAR, char, call); \ 733 vtkArrayIteratorTemplateMacroCase(VTK_SIGNED_CHAR, signed char, call); \ 734 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_CHAR, unsigned char, call); \ 735 vtkArrayIteratorTemplateMacroCase(VTK_STRING, vtkStdString, call); \ 736 vtkTemplateMacroCase(VTK_BIT, vtkBitArrayIterator, call); 739 #if defined(VTK_TYPE_USE_LONG_LONG) 740 # define vtkTemplateMacroCase_ll(typeN, type, call) \ 741 vtkTemplateMacroCase(typeN, type, call); 742 # define vtkArrayIteratorTemplateMacroCase_ll(typeN, type, call) \ 743 vtkArrayIteratorTemplateMacroCase(typeN, type, call) 745 # define vtkTemplateMacroCase_ll(typeN, type, call) 746 # define vtkArrayIteratorTemplateMacroCase_ll(typeN, type, call) 750 #if defined(VTK_TYPE_USE___INT64) 751 # define vtkTemplateMacroCase_si64(typeN, type, call) \ 752 vtkTemplateMacroCase(typeN, type, call); 753 # define vtkArrayIteratorTemplateMacroCase_si64(typeN, type, call) \ 754 vtkArrayIteratorTemplateMacroCase(typeN, type, call) 756 # define vtkTemplateMacroCase_si64(typeN, type, call) 757 # define vtkArrayIteratorTemplateMacroCase_si64(typeN, type, call) 762 #if defined(VTK_TYPE_USE___INT64) && defined(VTK_TYPE_CONVERT_UI64_TO_DOUBLE) 763 # define vtkTemplateMacroCase_ui64(typeN, type, call) \ 764 vtkTemplateMacroCase(typeN, type, call); 765 # define vtkArrayIteratorTemplateMacroCase_ui64(typeN, type, call) \ 766 vtkArrayIteratorTemplateMacroCase(typeN, type, call); 768 # define vtkTemplateMacroCase_ui64(typeN, type, call) 769 # define vtkArrayIteratorTemplateMacroCase_ui64(typeN, type, call) 780 #if defined(VTK_LEGACY_REMOVE) 786 # define VTK_LEGACY(method) VTK_LEGACY__0(method,__LINE__) 787 # define VTK_LEGACY__0(method,line) VTK_LEGACY__1(method,line) 788 # define VTK_LEGACY__1(method,line) class vtkLegacyMethodRemoved##line 790 #elif defined(VTK_LEGACY_SILENT) || defined(VTK_WRAPPING_CXX) 792 # define VTK_LEGACY(method) method 796 # if defined(__GNUC__) && !defined(__INTEL_COMPILER) 797 # define VTK_LEGACY(method) method __attribute__((deprecated)) 798 # elif defined(_MSC_VER) 799 # define VTK_LEGACY(method) __declspec(deprecated) method 801 # define VTK_LEGACY(method) method 822 #if defined(VTK_LEGACY_REMOVE) || defined(VTK_LEGACY_SILENT) 823 # define VTK_LEGACY_BODY(method, version) 824 # define VTK_LEGACY_REPLACED_BODY(method, version, replace) 826 # define VTK_LEGACY_BODY(method, version) \ 827 vtkGenericWarningMacro(#method " was deprecated for " version " and will be removed in a future version.") 828 # define VTK_LEGACY_REPLACED_BODY(method, version, replace) \ 829 vtkGenericWarningMacro(#method " was deprecated for " version " and will be removed in a future version. Use " #replace " instead.") 834 #define VTK_WRAP_EXTERN 841 #if __cplusplus >= 201103L && defined(__has_warning) 842 # if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") 843 # define VTK_FALLTHROUGH [[clang::fallthrough]] 847 #ifndef VTK_FALLTHROUGH 848 # define VTK_FALLTHROUGH ((void)0) 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 *)