28 #ifndef __itkFEMFactoryBase_h
29 #define __itkFEMFactoryBase_h
59 itkFactorylessNewMacro(
Self);
79 std::ostringstream message;
80 message <<
"itk::ERROR: " <<
"FEMFactoryBase"
81 <<
" instance not created";
96 const char* overrideClassName,
97 const char* description,
101 this->
RegisterOverride( classOverride, overrideClassName, description, enableFlag, createFunction );
Critical section locking class that can be allocated on the stack.
Light weight base class for most itk classes.
void operator=(const Self &)
SmartPointer< Self > Pointer
virtual const char * GetDescription(void) const ITK_OVERRIDE
virtual const char * GetITKSourceVersion(void) const ITK_OVERRIDE
ObjectFactoryBase Superclass
ObjectType * GetPointer() const
Create instances of classes using an object factory.
static FEMFactoryBase * m_Factory
static FEMFactoryBase * GetFactory()
SmartPointer< const Self > ConstPointer
void RegisterOverride(const char *classOverride, const char *overrideClassName, const char *description, bool enableFlag, CreateObjectFunctionBase *createFunction)
virtual ~FEMFactoryBase()
Standard exception handling object.
Define API for object creation callback functions.
static SimpleFastMutexLock m_CreationLock
Create instances of FEM Objects. This includes Elements, Loads, and Materials.
static bool RegisterFactory(ObjectFactoryBase *, InsertionPositionType where=INSERT_AT_BACK, vcl_size_t position=0)
static void RegisterDefaultTypes()
void RegisterType(const char *classOverride, const char *overrideClassName, const char *description, bool enableFlag, CreateObjectFunctionBase *createFunction)