29 #ifndef vtkInformationKey_h 30 #define vtkInformationKey_h 32 #include "vtkCommonCoreModule.h" 58 const char* GetName();
64 const char* GetLocation();
167 #define vtkInformationKeySetStringMacro(name) \ 168 virtual void Set##name(const char* _arg) \ 170 if (this->name == nullptr && _arg == nullptr) \ 174 if (this->name && _arg && (!strcmp(this->name, _arg))) \ 178 delete[] this->name; \ 181 size_t n = strlen(_arg) + 1; \ 182 char* cp1 = new char[n]; \ 183 const char* cp2 = (_arg); \ 192 this->name = nullptr; \ 210 void ConstructClass(
const char*);
220 #define vtkInformationKeyMacro(CLASS, NAME, type) \ 221 static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \ 222 vtkInformation##type##Key* CLASS::NAME() { return CLASS##_##NAME; } 223 #define vtkInformationKeySubclassMacro(CLASS, NAME, type, super) \ 224 static vtkInformation##type##Key* CLASS##_##NAME = new vtkInformation##type##Key(#NAME, #CLASS); \ 225 vtkInformation##super##Key* CLASS::NAME() { return CLASS##_##NAME; } 226 #define vtkInformationKeyRestrictedMacro(CLASS, NAME, type, required) \ 227 static vtkInformation##type##Key* CLASS##_##NAME = \ 228 new vtkInformation##type##Key(#NAME, #CLASS, required); \ 229 vtkInformation##type##Key* CLASS::NAME() { return CLASS##_##NAME; }
virtual void Register(vtkObjectBase *o)
Increase the reference count (mark as used by another object).
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
Detect and break reference loops.
virtual void UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).
a simple class to control print indentation
abstract base class for most VTK objects
void operator=(const vtkObjectBase &)
void Print(ostream &os)
Print an object to an ostream.