VTK
Classes | Macros | Variables
vtkObjectFactory.h File Reference
#include "vtkDebugLeaksManager.h"
#include "vtkCommonCoreModule.h"
#include "vtkObject.h"
#include <string>
Include dependency graph for vtkObjectFactory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vtkObjectFactory
 abstract base class for vtkObjectFactories More...
 
struct  vtkObjectFactory::OverrideInformation
 
class  vtkObjectFactoryRegistryCleanup
 

Macros

#define VTK_CREATE_CREATE_FUNCTION(classname)
 
#define VTK_FACTORY_INTERFACE_EXPORT   VTKCOMMONCORE_EXPORT
 
#define VTK_FACTORY_INTERFACE_IMPLEMENT(factoryName)
 
#define VTK_OBJECT_FACTORY_NEW_BODY(thisClass)
 
#define VTK_ABSTRACT_OBJECT_FACTORY_NEW_BODY(thisClass)
 
#define VTK_STANDARD_NEW_BODY(thisClass)
 
#define vtkStandardNewMacro(thisClass)
 
#define vtkObjectFactoryNewMacro(thisClass)
 
#define vtkAbstractObjectFactoryNewMacro(thisClass)
 

Variables

static vtkObjectFactoryRegistryCleanup vtkObjectFactoryRegistryCleanupInstance
 

Macro Definition Documentation

◆ VTK_CREATE_CREATE_FUNCTION

#define VTK_CREATE_CREATE_FUNCTION (   classname)
Value:
static vtkObject* vtkObjectFactoryCreate##classname() \
{ return classname::New(); }

Definition at line 307 of file vtkObjectFactory.h.

◆ VTK_FACTORY_INTERFACE_EXPORT

#define VTK_FACTORY_INTERFACE_EXPORT   VTKCOMMONCORE_EXPORT

Definition at line 313 of file vtkObjectFactory.h.

◆ VTK_FACTORY_INTERFACE_IMPLEMENT

#define VTK_FACTORY_INTERFACE_IMPLEMENT (   factoryName)
Value:
extern "C" \
VTK_FACTORY_INTERFACE_EXPORT \
const char* vtkGetFactoryCompilerUsed() \
{ \
return VTK_CXX_COMPILER; \
} \
extern "C" \
VTK_FACTORY_INTERFACE_EXPORT \
const char* vtkGetFactoryVersion() \
{ \
} \
extern "C" \
VTK_FACTORY_INTERFACE_EXPORT \
vtkObjectFactory* vtkLoad() \
{ \
return factoryName ::New(); \
}

Definition at line 320 of file vtkObjectFactory.h.

◆ VTK_OBJECT_FACTORY_NEW_BODY

#define VTK_OBJECT_FACTORY_NEW_BODY (   thisClass)
Value:
vtkObject* ret = vtkObjectFactory::CreateInstance(#thisClass, false); \
if(ret) \
{ \
return static_cast<thisClass*>(ret); \
} \
thisClass *result = new thisClass; \
result->InitializeObjectBase(); \
return result;

Definition at line 341 of file vtkObjectFactory.h.

◆ VTK_ABSTRACT_OBJECT_FACTORY_NEW_BODY

#define VTK_ABSTRACT_OBJECT_FACTORY_NEW_BODY (   thisClass)
Value:
vtkObject* ret = vtkObjectFactory::CreateInstance(#thisClass, true); \
if(ret) \
{ \
return static_cast<thisClass*>(ret); \
} \
vtkGenericWarningMacro("Error: no override found for '" #thisClass "'."); \
return nullptr;

Definition at line 354 of file vtkObjectFactory.h.

◆ VTK_STANDARD_NEW_BODY

#define VTK_STANDARD_NEW_BODY (   thisClass)
Value:
thisClass *result = new thisClass; \
result->InitializeObjectBase(); \
return result;

Definition at line 368 of file vtkObjectFactory.h.

◆ vtkStandardNewMacro

#define vtkStandardNewMacro (   thisClass)
Value:
thisClass* thisClass::New() \
{ \
VTK_STANDARD_NEW_BODY(thisClass) \
}

Definition at line 375 of file vtkObjectFactory.h.

◆ vtkObjectFactoryNewMacro

#define vtkObjectFactoryNewMacro (   thisClass)
Value:
thisClass* thisClass::New() \
{ \
VTK_OBJECT_FACTORY_NEW_BODY(thisClass) \
}

Definition at line 382 of file vtkObjectFactory.h.

◆ vtkAbstractObjectFactoryNewMacro

#define vtkAbstractObjectFactoryNewMacro (   thisClass)
Value:
thisClass* thisClass::New() \
{ \
VTK_ABSTRACT_OBJECT_FACTORY_NEW_BODY(thisClass) \
}

Definition at line 391 of file vtkObjectFactory.h.

Variable Documentation

◆ vtkObjectFactoryRegistryCleanupInstance

vtkObjectFactoryRegistryCleanup vtkObjectFactoryRegistryCleanupInstance
static

Definition at line 301 of file vtkObjectFactory.h.

VTK_SOURCE_VERSION
#define VTK_SOURCE_VERSION
Definition: vtkVersion.h:38
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:59
vtkObjectFactory::CreateInstance
static vtkObject * CreateInstance(const char *vtkclassname, bool isAbstract=false)
Create and return an instance of the named vtk object.