fw4spl
itkInrImageIOFactory.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2017.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #ifndef __INR2ITK_ITKINRIMAGEIOFACTORY_HPP__
8 #define __INR2ITK_ITKINRIMAGEIOFACTORY_HPP__
9 
10 #include <itkImageIOBase.h>
11 #include <itkObjectFactoryBase.h>
12 
13 namespace itk
14 {
19 class ITK_EXPORT InrImageIOFactory : public ObjectFactoryBase
20 {
21 public:
24  typedef ObjectFactoryBase Superclass;
25  typedef SmartPointer<Self> Pointer;
26  typedef SmartPointer<const Self> ConstPointer;
27 
29  virtual const char* GetITKSourceVersion(void) const override;
30  virtual const char* GetDescription(void) const override;
31 
33  itkFactorylessNewMacro(Self)
34 
35 
36  itkTypeMacro(InrImageIOFactory, ObjectFactoryBase)
37 
39  static void RegisterOneFactory(void)
40  {
41  InrImageIOFactory::Pointer metaFactory = InrImageIOFactory::New();
42  ObjectFactoryBase::RegisterFactory(metaFactory);
43  }
44 
45 protected:
48  virtual void PrintSelf(std::ostream& os, Indent indent) const override;
49 
50 private:
51  InrImageIOFactory(const Self&); //purposely not implemented
52  void operator=(const Self&); //purposely not implemented
53 
54 };
55 
56 } // end namespace itk
57 
58 #endif // __INR2ITK_ITKINRIMAGEIOFACTORY_HPP__
Create instances of InrImageIO objects using an object factory.