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)
549 #define vtkWorldCoordinateMacro(name) \
550 virtual vtkCoordinate *Get##name##Coordinate () \
552 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " #name "Coordinate address " << this->name##Coordinate ); \
553 return this->name##Coordinate; \
555 virtual void Set##name(double x[3]) {this->Set##name(x[0],x[1],x[2]);}; \
556 virtual void Set##name(double x, double y, double z) \
558 this->name##Coordinate->SetValue(x,y,z); \
560 virtual double *Get##name() \
562 return this->name##Coordinate->GetValue(); \
565 #define vtkViewportCoordinateMacro(name) \
566 virtual vtkCoordinate *Get##name##Coordinate () \
568 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " #name "Coordinate address " << this->name##Coordinate ); \
569 return this->name##Coordinate; \
571 virtual void Set##name(double x[2]) {this->Set##name(x[0],x[1]);}; \
572 virtual void Set##name(double x, double y) \
574 this->name##Coordinate->SetValue(x,y); \
576 virtual double *Get##name() \
578 return this->name##Coordinate->GetValue(); \
583 #define vtkAbstractTypeMacroWithNewInstanceType(thisClass,superclass,instanceType) \
584 typedef superclass Superclass; \
586 virtual const char* GetClassNameInternal() const { return #thisClass; } \
588 static int IsTypeOf(const char *type) \
590 if ( !strcmp(#thisClass,type) ) \
594 return superclass::IsTypeOf(type); \
596 virtual int IsA(const char *type) \
598 return this->thisClass::IsTypeOf(type); \
600 static thisClass* SafeDownCast(vtkObjectBase *o) \
602 if ( o && o->IsA(#thisClass) ) \
604 return static_cast<thisClass *>(o); \
608 instanceType *NewInstance() const \
610 return instanceType::SafeDownCast(this->NewInstanceInternal()); \
614 #define vtkAbstractTypeMacro(thisClass,superclass) \
615 vtkAbstractTypeMacroWithNewInstanceType(thisClass, superclass, thisClass)
619 #define vtkTypeMacro(thisClass,superclass) \
620 vtkAbstractTypeMacro(thisClass, superclass) \
622 virtual vtkObjectBase *NewInstanceInternal() const \
624 return thisClass::New(); \
629 #if !defined(VTK_LEGACY_REMOVE)
630 # define vtkExportedTypeRevisionMacro(thisClass,superclass,dllExport) \
631 vtkTypeMacro(thisClass,superclass)
632 # define vtkTypeRevisionMacro(thisClass,superclass) \
633 vtkTypeMacro(thisClass,superclass)
634 # define vtkCxxRevisionMacro(thisClass, revision)
640 #define vtkInstantiatorNewMacro(thisClass) \
641 extern vtkObject* vtkInstantiator##thisClass##New(); \
642 vtkObject* vtkInstantiator##thisClass##New() \
644 return thisClass::New(); \
657 #define vtkTemplateMacroCase(typeN, type, call) \
658 case typeN: { typedef type VTK_TT; call; }; break
659 #define vtkTemplateMacro(call) \
660 vtkTemplateMacroCase(VTK_DOUBLE, double, call); \
661 vtkTemplateMacroCase(VTK_FLOAT, float, call); \
662 vtkTemplateMacroCase_ll(VTK_LONG_LONG, long long, call) \
663 vtkTemplateMacroCase_ll(VTK_UNSIGNED_LONG_LONG, unsigned long long, call) \
664 vtkTemplateMacroCase_si64(VTK___INT64, __int64, call) \
665 vtkTemplateMacroCase_ui64(VTK_UNSIGNED___INT64, unsigned __int64, call) \
666 vtkTemplateMacroCase(VTK_ID_TYPE, vtkIdType, call); \
667 vtkTemplateMacroCase(VTK_LONG, long, call); \
668 vtkTemplateMacroCase(VTK_UNSIGNED_LONG, unsigned long, call); \
669 vtkTemplateMacroCase(VTK_INT, int, call); \
670 vtkTemplateMacroCase(VTK_UNSIGNED_INT, unsigned int, call); \
671 vtkTemplateMacroCase(VTK_SHORT, short, call); \
672 vtkTemplateMacroCase(VTK_UNSIGNED_SHORT, unsigned short, call); \
673 vtkTemplateMacroCase(VTK_CHAR, char, call); \
674 vtkTemplateMacroCase(VTK_SIGNED_CHAR, signed char, call); \
675 vtkTemplateMacroCase(VTK_UNSIGNED_CHAR, unsigned char, call)
678 #define vtkExtendedTemplateMacro(call) \
679 vtkTemplateMacro(call); \
680 vtkTemplateMacroCase(VTK_STRING, vtkStdString, call)
702 #define vtkArrayIteratorTemplateMacroCase(typeN, type, call) \
703 vtkTemplateMacroCase(typeN, vtkArrayIteratorTemplate<type>, call)
704 #define vtkArrayIteratorTemplateMacro(call) \
705 vtkArrayIteratorTemplateMacroCase(VTK_DOUBLE, double, call); \
706 vtkArrayIteratorTemplateMacroCase(VTK_FLOAT, float, call); \
707 vtkArrayIteratorTemplateMacroCase_ll(VTK_LONG_LONG, long long, call); \
708 vtkArrayIteratorTemplateMacroCase_ll(VTK_UNSIGNED_LONG_LONG, unsigned long long, call);\
709 vtkArrayIteratorTemplateMacroCase_si64(VTK___INT64, __int64, call); \
710 vtkArrayIteratorTemplateMacroCase_ui64(VTK_UNSIGNED___INT64, unsigned __int64, call); \
711 vtkArrayIteratorTemplateMacroCase(VTK_ID_TYPE, vtkIdType, call); \
712 vtkArrayIteratorTemplateMacroCase(VTK_LONG, long, call); \
713 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_LONG, unsigned long, call); \
714 vtkArrayIteratorTemplateMacroCase(VTK_INT, int, call); \
715 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_INT, unsigned int, call); \
716 vtkArrayIteratorTemplateMacroCase(VTK_SHORT, short, call); \
717 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_SHORT, unsigned short, call); \
718 vtkArrayIteratorTemplateMacroCase(VTK_CHAR, char, call); \
719 vtkArrayIteratorTemplateMacroCase(VTK_SIGNED_CHAR, signed char, call); \
720 vtkArrayIteratorTemplateMacroCase(VTK_UNSIGNED_CHAR, unsigned char, call); \
721 vtkArrayIteratorTemplateMacroCase(VTK_STRING, vtkStdString, call); \
722 vtkTemplateMacroCase(VTK_BIT, vtkBitArrayIterator, call);
725 #if defined(VTK_TYPE_USE_LONG_LONG)
726 # define vtkTemplateMacroCase_ll(typeN, type, call) \
727 vtkTemplateMacroCase(typeN, type, call);
728 # define vtkArrayIteratorTemplateMacroCase_ll(typeN, type, call) \
729 vtkArrayIteratorTemplateMacroCase(typeN, type, call)
731 # define vtkTemplateMacroCase_ll(typeN, type, call)
732 # define vtkArrayIteratorTemplateMacroCase_ll(typeN, type, call)
736 #if defined(VTK_TYPE_USE___INT64)
737 # define vtkTemplateMacroCase_si64(typeN, type, call) \
738 vtkTemplateMacroCase(typeN, type, call);
739 # define vtkArrayIteratorTemplateMacroCase_si64(typeN, type, call) \
740 vtkArrayIteratorTemplateMacroCase(typeN, type, call)
742 # define vtkTemplateMacroCase_si64(typeN, type, call)
743 # define vtkArrayIteratorTemplateMacroCase_si64(typeN, type, call)
748 #if defined(VTK_TYPE_USE___INT64) && defined(VTK_TYPE_CONVERT_UI64_TO_DOUBLE)
749 # define vtkTemplateMacroCase_ui64(typeN, type, call) \
750 vtkTemplateMacroCase(typeN, type, call);
751 # define vtkArrayIteratorTemplateMacroCase_ui64(typeN, type, call) \
752 vtkArrayIteratorTemplateMacroCase(typeN, type, call);
754 # define vtkTemplateMacroCase_ui64(typeN, type, call)
755 # define vtkArrayIteratorTemplateMacroCase_ui64(typeN, type, call)
766 #if defined(VTK_LEGACY_REMOVE)
772 # define VTK_LEGACY(method) VTK_LEGACY__0(method,__LINE__)
773 # define VTK_LEGACY__0(method,line) VTK_LEGACY__1(method,line)
774 # define VTK_LEGACY__1(method,line) class vtkLegacyMethodRemoved##line
776 #elif defined(VTK_LEGACY_SILENT) || defined(VTK_WRAPPING_CXX)
778 # define VTK_LEGACY(method) method
782 # if defined(__GNUC__) && !defined(__INTEL_COMPILER) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
783 # define VTK_LEGACY(method) method __attribute__((deprecated))
784 # elif defined(_MSC_VER)
785 # define VTK_LEGACY(method) __declspec(deprecated) method
787 # define VTK_LEGACY(method) method
808 #if defined(VTK_LEGACY_REMOVE) || defined(VTK_LEGACY_SILENT)
809 # define VTK_LEGACY_BODY(method, version)
810 # define VTK_LEGACY_REPLACED_BODY(method, version, replace)
812 # define VTK_LEGACY_BODY(method, version) \
813 vtkGenericWarningMacro(#method " was deprecated for " version " and will be removed in a future version.")
814 # define VTK_LEGACY_REPLACED_BODY(method, version, replace) \
815 vtkGenericWarningMacro(#method " was deprecated for " version " and will be removed in a future version. Use " #replace " instead.")
820 #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 *)