28 #ifndef itkObjectFactoryBase_h
29 #define itkObjectFactoryBase_h
80 static std::list< LightObject::Pointer >
81 CreateAllInstance(
const char *itkclassname);
104 } InsertionPositionType;
125 InsertionPositionType where=INSERT_AT_BACK,
size_t position = 0);
132 static void UnRegisterAllFactories();
136 static std::list< ObjectFactoryBase * > GetRegisteredFactories();
143 virtual const char * GetITKSourceVersion(
void)
const = 0;
150 static void SetStrictVersionChecking(
bool );
151 static void StrictVersionCheckingOn();
152 static void StrictVersionCheckingOff();
153 static bool GetStrictVersionChecking();
157 virtual const char * GetDescription(
void)
const = 0;
160 virtual std::list< std::string > GetClassOverrideNames();
163 virtual std::list< std::string > GetClassOverrideWithNames();
166 virtual std::list< std::string > GetClassOverrideDescriptions();
169 virtual std::list< bool > GetEnableFlags();
172 virtual void SetEnableFlag(
bool flag,
173 const char *className,
174 const char *subclassName);
177 virtual bool GetEnableFlag(
const char *className,
178 const char *subclassName);
183 virtual void Disable(
const char *className);
186 const char * GetLibraryPath();
200 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
203 void RegisterOverride(
const char *classOverride,
204 const char *overrideClassName,
205 const char *description,
217 virtual std::list< LightObject::Pointer >
218 CreateAllObject(
const char *itkclassname);
227 void operator=(const
Self &) ITK_DELETE_FUNCTION;
230 static
void InitializeFactoryList();
234 static
void Initialize();
237 static
void RegisterInternal();
240 static
void LoadDynamicFactories();
243 static
void LoadLibrariesInPath(const
char *);
249 void * m_LibraryHandle;
250 unsigned long m_LibraryDate;
251 std::
string m_LibraryPath;
253 static
bool m_StrictVersionChecking;
Light weight base class for most itk classes.
SmartPointer< const Self > ConstPointer
Create instances of classes using an object factory.
SmartPointer< Self > Pointer
Define API for object creation callback functions.
Control indentation during Print() invocation.
Base class for most ITK classes.
OverRideMap * m_OverrideMap