00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00046
#ifndef __vtkObjectBase_h
00047
#define __vtkObjectBase_h
00048
00049
#include "vtkIndent.h"
00050
#include "vtkSystemIncludes.h"
00051
00052 class VTK_COMMON_EXPORT vtkObjectBase
00053 {
00054
public:
00058 virtual const char *GetClassName()
const {
return "vtkObjectBase";};
00059
00063
static int IsTypeOf(
const char *name);
00064
00068
virtual int IsA(
const char *name);
00069
00073
virtual void Delete();
00074
00076
00078 static vtkObjectBase *New()
00079 {
return new vtkObjectBase;}
00081
00082
#ifdef _WIN32
00083
00084
void* operator new( size_t tSize );
00085
void operator delete(
void* p );
00086
#endif
00087
00090
void Print(ostream& os);
00091
00093
00097
virtual void PrintSelf(ostream& os,
vtkIndent indent);
00098
virtual void PrintHeader(ostream& os,
vtkIndent indent);
00099
virtual void PrintTrailer(ostream& os,
vtkIndent indent);
00101
00103
void Register(vtkObjectBase* o);
00104
00108
virtual void UnRegister(vtkObjectBase* o);
00109
00111
00112 int GetReferenceCount()
00113 {
return this->ReferenceCount;}
00115
00117
void SetReferenceCount(
int);
00118
00125
void PrintRevisions(ostream& os);
00126
00127
protected:
00128 vtkObjectBase();
00129
virtual ~vtkObjectBase();
00130
00131
virtual void CollectRevisions(ostream& os);
00132
00133 int ReferenceCount;
00134
00135
private:
00136
00137
friend VTK_COMMON_EXPORT ostream&
operator<<(ostream& os, vtkObjectBase& o);
00138
00139
00140
protected:
00141
00142 vtkObjectBase(
const vtkObjectBase&) {}
00143 void operator=(
const vtkObjectBase&) {}
00144
00145 };
00146
00147
#endif
00148