VTK  9.2.6
vtkObjectFactory.h File Reference
#include "vtkCommonCoreModule.h"
#include "vtkDebugLeaksManager.h"
#include "vtkFeatures.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 vtkStandardExtendedNewMacro(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(); }
abstract base class for most VTK objects
Definition vtkObject.h:63

Definition at line 291 of file vtkObjectFactory.h.

◆ VTK_FACTORY_INTERFACE_EXPORT

#define VTK_FACTORY_INTERFACE_EXPORT   VTKCOMMONCORE_EXPORT

Definition at line 296 of file vtkObjectFactory.h.

◆ VTK_FACTORY_INTERFACE_IMPLEMENT

#define VTK_FACTORY_INTERFACE_IMPLEMENT ( factoryName)
Value:
extern "C" VTK_FACTORY_INTERFACE_EXPORT const char* vtkGetFactoryVersion() \
{ \
return VTK_SOURCE_VERSION; \
} \
{ \
return factoryName ::New(); \
}
abstract base class for vtkObjectFactories
#define VTK_FACTORY_INTERFACE_EXPORT

Definition at line 303 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); \
} \
auto result = new thisClass; \
result->InitializeObjectBase(); \
return result
static vtkObject * CreateInstance(const char *vtkclassname, bool isAbstract=false)
Create and return an instance of the named vtk object.

Definition at line 314 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 327 of file vtkObjectFactory.h.

◆ VTK_STANDARD_NEW_BODY

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

Definition at line 340 of file vtkObjectFactory.h.

◆ vtkStandardNewMacro

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

Definition at line 347 of file vtkObjectFactory.h.

◆ vtkStandardExtendedNewMacro

#define vtkStandardExtendedNewMacro ( thisClass)
Value:
thisClass* thisClass::ExtendedNew() \
{ \
auto mkhold = vtkMemkindRAII(true); \
(void)mkhold; \
return thisClass::New(); \
}

Definition at line 352 of file vtkObjectFactory.h.

◆ vtkObjectFactoryNewMacro

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

Definition at line 361 of file vtkObjectFactory.h.

◆ vtkAbstractObjectFactoryNewMacro

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

Definition at line 367 of file vtkObjectFactory.h.

Variable Documentation

◆ vtkObjectFactoryRegistryCleanupInstance

vtkObjectFactoryRegistryCleanup vtkObjectFactoryRegistryCleanupInstance
static

Definition at line 286 of file vtkObjectFactory.h.