]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Base/SkeletonWriter.h
...
[FrontAlgorithms.git] / lib / fpa / Base / SkeletonWriter.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5
6 #ifndef __fpa__Base__SkeletonWriter__h__
7 #define __fpa__Base__SkeletonWriter__h__
8
9 #include <itkProcessObject.h>
10
11 namespace fpa
12 {
13   namespace Base
14   {
15     /**
16      */
17     template< class _TSkeleton >
18     class SkeletonWriter
19       : public itk::ProcessObject
20     {
21     public:
22       // Basic types
23       typedef SkeletonWriter                  Self;
24       typedef itk::ProcessObject              Superclass;
25       typedef itk::SmartPointer< Self >       Pointer;
26       typedef itk::SmartPointer< const Self > ConstPointer;
27
28       typedef _TSkeleton TSkeleton;
29
30     public:
31       itkNewMacro( Self );
32       itkTypeMacro( SkeletonWriter, itk::ProcessObject );
33
34       itkGetConstMacro( FileName, std::string );
35       itkSetMacro( FileName, std::string );
36
37     public:
38       const TSkeleton* GetInput( ) const;
39       void SetInput( const TSkeleton* skeleton );
40       virtual void Update( ) override;
41
42     protected:
43       SkeletonWriter( );
44       virtual ~SkeletonWriter( );
45
46       virtual void GenerateData( ) override;
47
48     private:
49       // Purposely not implemented
50       SkeletonWriter( const Self& );
51       void operator=( const Self& );
52
53     protected:
54       std::string m_FileName;
55     };
56
57   } // ecapseman
58
59 } // ecapseman
60
61 #ifndef ITK_MANUAL_INSTANTIATION
62 #  include <fpa/Base/SkeletonWriter.hxx>
63 #endif // ITK_MANUAL_INSTANTIATION
64
65 #endif // __fpa__Base__SkeletonWriter__h__
66
67 // eof - $RCSfile$