]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Algorithms/PolyLineParametricPathToSimple3DCurve.h
Cast image filter added. ROI filter modified.
[cpPlugins.git] / lib / cpExtensions / Algorithms / PolyLineParametricPathToSimple3DCurve.h
1 // -------------------------------------------------------------------------
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // -------------------------------------------------------------------------
4
5 #ifndef __cpExtensions__Algorithms__PolyLineParametricPathToSimple3DCurve__h__
6 #define __cpExtensions__Algorithms__PolyLineParametricPathToSimple3DCurve__h__
7
8 #include <cpExtensions/Config.h>
9 #include <itkProcessObject.h>
10
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
13 {
14   namespace Algorithms
15   {
16     /**
17      */
18     template< class _TPolyLine, class _TCurve >
19     class cpExtensions_EXPORT PolyLineParametricPathToSimple3DCurve
20       : public itk::ProcessObject
21     {
22     public:
23       // Basic types
24       typedef PolyLineParametricPathToSimple3DCurve Self;
25       typedef itk::ProcessObject                    Superclass;
26       typedef itk::SmartPointer< Self >             Pointer;
27       typedef itk::SmartPointer< const Self >       ConstPointer;
28
29     public:
30       itkNewMacro( Self );
31       itkTypeMacro( PolyLineParametricPathToSimple3DCurve, itk::ProcessObject );
32
33       itkGetConstMacro( NumberOfSamples, unsigned long );
34       itkSetMacro( NumberOfSamples, unsigned long );
35
36     public:
37       _TPolyLine* GetInput( );
38       const _TPolyLine* GetInput( ) const;
39       void SetInput( _TPolyLine* pl );
40
41       _TCurve* GetOutput( );
42       const _TCurve* GetOutput( ) const;
43
44     protected:
45       PolyLineParametricPathToSimple3DCurve( );
46       virtual ~PolyLineParametricPathToSimple3DCurve( );
47
48       virtual void GenerateData( ) cpExtensions_OVERRIDE;
49
50     private:
51       // Purposely not implemented
52       PolyLineParametricPathToSimple3DCurve( const Self& );
53       void operator=( const Self& );
54
55     protected:
56       unsigned long m_NumberOfSamples;
57     };
58
59   } // ecapseman
60
61 } // ecapseman
62
63 #endif // __cpExtensions__Algorithms__PolyLineParametricPathToSimple3DCurve__h__
64
65 // eof - $RCSfile$