00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00042
#ifndef __vtkObjectBase_h
00043
#define __vtkObjectBase_h
00044
00045
#include "vtkIndent.h"
00046
#include "vtkSystemIncludes.h"
00047
00048 class VTK_COMMON_EXPORT vtkObjectBase
00049 {
00050
public:
00054 virtual const char *GetClassName()
const {
return "vtkObjectBase";};
00055
00059
static int IsTypeOf(
const char *name);
00060
00064
virtual int IsA(
const char *name);
00065
00069
virtual void Delete();
00070
00072
00074 static vtkObjectBase *New()
00075 {
return new vtkObjectBase;}
00077
00078
#ifdef _WIN32
00079
00080
void* operator new( size_t tSize );
00081
void operator delete(
void* p );
00082
#endif
00083
00086
void Print(ostream& os);
00087
00089
00093
virtual void PrintSelf(ostream& os,
vtkIndent indent);
00094
virtual void PrintHeader(ostream& os,
vtkIndent indent);
00095
virtual void PrintTrailer(ostream& os,
vtkIndent indent);
00097
00099
void Register(vtkObjectBase* o);
00100
00104
virtual void UnRegister(vtkObjectBase* o);
00105
00107
00108 int GetReferenceCount()
00109 {
return this->ReferenceCount;}
00111
00113
void SetReferenceCount(
int);
00114
00121
void PrintRevisions(ostream& os);
00122
00123
protected:
00124 vtkObjectBase();
00125
virtual ~vtkObjectBase();
00126
00127
virtual void CollectRevisions(ostream& os);
00128
00129 int ReferenceCount;
00130
00131
private:
00132
00133
friend VTK_COMMON_EXPORT ostream&
operator<<(ostream& os, vtkObjectBase& o);
00134
00135
00136
protected:
00137
00138 vtkObjectBase(
const vtkObjectBase&) {}
00139 void operator=(
const vtkObjectBase&) {}
00140
00141 };
00142
00143
#endif
00144