]> Creatis software - clitk.git/blob - common/clitkVoxImageIOFactory.h
Initial revision
[clitk.git] / common / clitkVoxImageIOFactory.h
1 #ifndef CLITKVOXIMAGEIOFACTORY_H
2 #define CLITKVOXIMAGEIOFACTORY_H
3
4 /**
5  ===================================================================
6  * @file   clitkVoxImageIOFactory.h
7  * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
8  * @date   03 Jul 2006 11:27:55
9
10  * @brief  
11
12  ===================================================================*/
13
14 // clitk include
15 #include "clitkVoxImageIO.h"
16
17 // itk include
18 #include "itkImageIOBase.h"
19 #include "itkObjectFactoryBase.h"
20 #include "itkVersion.h"
21
22 namespace clitk {
23   
24   //====================================================================
25   // Factory for reading Vox Image file format
26   class VoxImageIOFactory: public itk::ObjectFactoryBase
27   {
28   public:
29         /** Standard class typedefs. */
30         typedef VoxImageIOFactory              Self;
31         typedef itk::ObjectFactoryBase         Superclass;
32         typedef itk::SmartPointer<Self>        Pointer;
33         typedef itk::SmartPointer<const Self>  ConstPointer;
34         
35         /** Class methods used to interface with the registered factories. */
36         const char* GetITKSourceVersion(void) const {
37           return ITK_SOURCE_VERSION;
38         }
39         
40         const char* GetDescription(void) const {
41           return "Vox ImageIO Factory, allows the loading of Vox images into insight";
42         }
43         
44         /** Method for class instantiation. */
45         itkFactorylessNewMacro(Self);
46         
47         /** Run-time type information (and related methods). */
48         itkTypeMacro(VoxImageIOFactory, ObjectFactoryBase);
49         
50         /** Register one factory of this type  */
51         static void RegisterOneFactory(void) {
52           ObjectFactoryBase::RegisterFactory( Self::New() );
53         }       
54
55   protected:
56         VoxImageIOFactory();
57         ~VoxImageIOFactory() {};
58         typedef VoxImageIOFactory myProductType;
59         const myProductType* m_MyProduct;
60         
61   private:
62         VoxImageIOFactory(const Self&); //purposely not implemented
63         void operator=(const Self&); //purposely not implemented
64   };
65
66 } // end namespace
67
68 #endif /* end #define CLITKVOXIMAGEIOFACTORY_H */
69