28 #ifndef vtkInformationKey_h 29 #define vtkInformationKey_h 51 const char* GetName();
55 const char* GetLocation();
78 { this->ShallowCopy(from, to); }
139 #define vtkInformationKeySetStringMacro(name) \ 140 virtual void Set##name (const char* _arg) \ 142 if ( this->name == NULL && _arg == NULL) { return;} \ 143 if ( this->name && _arg && (!strcmp(this->name,_arg))) { return;} \ 144 delete [] this->name; \ 147 size_t n = strlen(_arg) + 1; \ 148 char *cp1 = new char[n]; \ 149 const char *cp2 = (_arg); \ 151 do { *cp1++ = *cp2++; } while ( --n ); \ 174 void ConstructClass(
const char*);
184 #define vtkInformationKeyMacro(CLASS, NAME, type) \ 185 static vtkInformation##type##Key* CLASS##_##NAME = \ 186 new vtkInformation##type##Key(#NAME, #CLASS); \ 187 vtkInformation##type##Key* CLASS::NAME() \ 189 return CLASS##_##NAME; \ 191 #define vtkInformationKeySubclassMacro(CLASS, NAME, type, super) \ 192 static vtkInformation##type##Key* CLASS##_##NAME = \ 193 new vtkInformation##type##Key(#NAME, #CLASS); \ 194 vtkInformation##super##Key* CLASS::NAME() \ 196 return CLASS##_##NAME; \ 198 #define vtkInformationKeyRestrictedMacro(CLASS, NAME, type, required) \ 199 static vtkInformation##type##Key* CLASS##_##NAME = \ 200 new vtkInformation##type##Key(#NAME, #CLASS, required); \ 201 vtkInformation##type##Key* CLASS::NAME() \ 203 return CLASS##_##NAME; \
virtual void Register(vtkObjectBase *o)
#define VTKCOMMONCORE_EXPORT
virtual void PrintSelf(ostream &os, vtkIndent indent)
#define vtkTypeMacro(thisClass, superclass)
Detect and break reference loops.
virtual void UnRegister(vtkObjectBase *o)
a simple class to control print indentation
abstract base class for most VTK objects
void operator=(const vtkObjectBase &)