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