]> Creatis software - FrontAlgorithms.git/blob - lib/Airways/fpa2Airways/Converter.h
13e31b28c78e805680cbb04a1daa3509393df133
[FrontAlgorithms.git] / lib / Airways / fpa2Airways / Converter.h
1 #ifndef __AIRWAYS__FPA2AIRWAYS__CONVERTER__H__
2 #define __AIRWAYS__FPA2AIRWAYS__CONVERTER__H__
3
4 #include <itkProcessObject.h>
5 #include <itkSimpleDataObjectDecorator.h>
6
7 namespace fpa2Airways
8 {
9   /**
10    */
11   template< class _TSkeleton, class _TAirways >
12   class Converter
13     : public itk::ProcessObject
14   {
15   public:
16     typedef Converter                       Self;
17     typedef itk::ProcessObject              Superclass;
18     typedef itk::SmartPointer< Self >       Pointer;
19     typedef itk::SmartPointer< const Self > ConstPointer;
20
21     typedef _TSkeleton TSkeleton;
22     typedef _TAirways  TAirways; 
23     typedef itk::SimpleDataObjectDecorator< _TAirways* > TOutput;
24
25   public:
26     itkNewMacro( Self );
27     itkTypeMacro( Converter, itk::ProcessObject );
28
29   public:
30     void SetInput( const TSkeleton* sk );
31     TSkeleton* GetInput( );
32     const TSkeleton* GetInput( ) const;
33     TAirways* GetOutput( );
34     const TAirways* GetOutput( ) const;
35
36   protected:
37     Converter( );
38     virtual ~Converter( );
39
40     virtual void GenerateData( ) ITK_OVERRIDE;
41
42   private:
43     // Purposely not implemented.
44     Converter( const Self& );
45     Self& operator=( const Self& );
46   };
47
48 } // ecapseman
49
50 #ifndef ITK_MANUAL_INSTANTIATION 
51 #include <Airways/fpa2Airways/Converter.hxx> 
52 #endif // ITK_MANUAL_INSTANTIATION 
53
54 #endif // __AIRWAYS__FPA2AIRWAYS__CONVERTER__H__
55
56 // eof - $RCSfile$