28 #ifndef itkObjectFactoryBase_h
29 #define itkObjectFactoryBase_h
81 static std::list< LightObject::Pointer >
82 CreateAllInstance(
const char *itkclassname);
105 } InsertionPositionType;
126 InsertionPositionType where=INSERT_AT_BACK,
size_t position = 0);
133 static void UnRegisterAllFactories();
137 static std::list< ObjectFactoryBase * > GetRegisteredFactories();
144 virtual const char * GetITKSourceVersion(
void)
const = 0;
151 static void SetStrictVersionChecking(
bool );
152 static void StrictVersionCheckingOn();
153 static void StrictVersionCheckingOff();
154 static bool GetStrictVersionChecking();
158 virtual const char * GetDescription(
void)
const = 0;
161 virtual std::list< std::string > GetClassOverrideNames();
164 virtual std::list< std::string > GetClassOverrideWithNames();
167 virtual std::list< std::string > GetClassOverrideDescriptions();
170 virtual std::list< bool > GetEnableFlags();
173 virtual void SetEnableFlag(
bool flag,
174 const char *className,
175 const char *subclassName);
178 virtual bool GetEnableFlag(
const char *className,
179 const char *subclassName);
184 virtual void Disable(
const char *className);
187 const char * GetLibraryPath();
201 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
204 void RegisterOverride(
const char *classOverride,
205 const char *overrideClassName,
206 const char *description,
218 virtual std::list< LightObject::Pointer >
219 CreateAllObject(
const char *itkclassname);
230 static void InitializeFactoryList();
237 static void RegisterInternal();
240 static void LoadDynamicFactories();
243 static void LoadLibrariesInPath(
const char *);
virtual void PrintSelf(std::ostream &os, Indent indent) const override
std::string m_LibraryPath
SmartPointer< const Self > ConstPointer
virtual void Initialize()
Create instances of classes using an object factory.
SmartPointer< Self > Pointer
Define API for object creation callback functions.
Control indentation during Print() invocation.
static bool m_StrictVersionChecking
Base class for most ITK classes.
OverRideMap * m_OverrideMap
unsigned long m_LibraryDate