28#ifndef itkSpatialObjectFactoryBase_h
29#define itkSpatialObjectFactoryBase_h
33#include "ITKSpatialObjectsExport.h"
65 itkFactorylessNewMacro(
Self);
75 if (m_Factory ==
nullptr)
79 m_Factory = p.GetPointer();
81 p->RegisterDefaultSpatialObjects();
89 const char * overrideClassName,
90 const char * description,
94 this->RegisterOverride(classOverride, overrideClassName, description, enableFlag, createFunction);
Define API for object creation callback functions.
Light weight base class for most itk classes.
Create instances of classes using an object factory.
static bool RegisterFactory(ObjectFactoryBase *, InsertionPositionEnum where=InsertionPositionEnum::INSERT_AT_BACK, vcl_size_t position=0)
Create instances of SpatialObjects.
SpatialObjectFactoryBase()
const char * GetITKSourceVersion() const override
void RegisterSpatialObject(const char *classOverride, const char *overrideClassName, const char *description, bool enableFlag, CreateObjectFunctionBase *createFunction)
static SpatialObjectFactoryBase * m_Factory
~SpatialObjectFactoryBase() override
static SpatialObjectFactoryBase * GetFactory()
const char * GetDescription() const override
static void RegisterDefaultSpatialObjects()
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....