48 #ifndef __vtkObjectBase_h
49 #define __vtkObjectBase_h
55 class vtkGarbageCollectorToObjectBaseFriendship;
57 class vtkWeakPointerBaseToObjectBaseFriendship;
61 virtual const char* GetClassNameInternal()
const {
return "vtkObjectBase"; }
64 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
66 # define GetClassNameA GetClassName
67 # define GetClassNameW GetClassName
73 const char* GetClassName()
const;
75 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
80 const char* GetClassNameA()
const;
81 const char* GetClassNameW()
const;
88 static int IsTypeOf(
const char *name);
93 virtual int IsA(
const char *name);
98 virtual void Delete();
105 virtual void FastDelete();
116 void*
operator new(
size_t tSize );
117 void operator delete(
void* p );
122 void Print(ostream& os);
129 virtual void PrintSelf(ostream& os,
vtkIndent indent);
130 virtual void PrintHeader(ostream& os,
vtkIndent indent);
131 virtual void PrintTrailer(ostream& os,
vtkIndent indent);
145 {
return this->ReferenceCount;}
149 void SetReferenceCount(
int);
157 void PrintRevisions(ostream& os);
163 virtual void CollectRevisions(ostream& os);
180 friend class vtkGarbageCollectorToObjectBaseFriendship;
181 friend class vtkWeakPointerBaseToObjectBaseFriendship;
static vtkObjectBase * New()
vtkObjectBase(const vtkObjectBase &)
Detect and break reference loops.
a simple class to control print indentation
Non-templated superclass for vtkWeakPointer.
abstract base class for most VTK objects
vtkWeakPointerBase ** WeakPointers
void operator=(const vtkObjectBase &)
VTK_COMMON_EXPORT ostream & operator<<(ostream &os, const vtkIndent &o)