]> Creatis software - cpPlugins.git/blob - lib/ivq/VTK/PolyDataToFourierSeriesFilter.h
...
[cpPlugins.git] / lib / ivq / VTK / PolyDataToFourierSeriesFilter.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __ivq__VTK__PolyDataToFourierSeriesFilter__h__
6 #define __ivq__VTK__PolyDataToFourierSeriesFilter__h__
7
8 #include <vtkPolyDataAlgorithm.h>
9
10 namespace ivq
11 {
12   namespace VTK
13   {
14     /**
15      */
16     template< class _TFourierSeries >
17     class PolyDataToFourierSeriesFilter
18       : public vtkPolyDataAlgorithm
19     {
20     public:
21       typedef PolyDataToFourierSeriesFilter Self;
22       typedef _TFourierSeries               TFourierSeries;
23
24     public:
25       vtkTypeMacro( PolyDataToFourierSeriesFilter, vtkPolyDataAlgorithm );
26
27     public:
28       static Self* New( );
29
30       const TFourierSeries& GetOutput( ) const;
31       void SetNumberOfHarmonics( unsigned int q );
32       unsigned int GetNumberOfHarmonics( ) const;
33
34     protected:
35       PolyDataToFourierSeriesFilter( );
36       virtual ~PolyDataToFourierSeriesFilter( );
37
38       int RequestData(
39         vtkInformation* information,
40         vtkInformationVector** input,
41         vtkInformationVector* output
42         );
43       int RequestInformation(
44         vtkInformation* information,
45         vtkInformationVector** input,
46         vtkInformationVector* output
47         );
48
49     private:
50       // Purposely not implemented
51       PolyDataToFourierSeriesFilter( const Self& );
52       void operator=( const Self& );
53
54     protected:
55       TFourierSeries m_FourierSeries;
56     };
57
58   } // ecapseman
59
60 } // ecapseman
61
62 #endif // __ivq__VTK__PolyDataToFourierSeriesFilter__h__
63
64 // eof - $RCSfile$