]> 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 <ivq/ivq_export.h>
9 #include <vtkPolyDataAlgorithm.h>
10
11 namespace ivq
12 {
13   namespace VTK
14   {
15     /**
16      */
17     template< class _TFourierSeries >
18     class IVQ_EXPORT PolyDataToFourierSeriesFilter
19       : public vtkPolyDataAlgorithm
20     {
21     public:
22       typedef PolyDataToFourierSeriesFilter Self;
23       typedef _TFourierSeries               TFourierSeries;
24
25     public:
26       vtkTypeMacro( PolyDataToFourierSeriesFilter, vtkPolyDataAlgorithm );
27
28     public:
29       static Self* New( );
30
31       const TFourierSeries& GetOutput( ) const;
32       void SetNumberOfHarmonics( unsigned int q );
33       unsigned int GetNumberOfHarmonics( ) const;
34
35     protected:
36       PolyDataToFourierSeriesFilter( );
37       virtual ~PolyDataToFourierSeriesFilter( );
38
39       int RequestData(
40         vtkInformation* information,
41         vtkInformationVector** input,
42         vtkInformationVector* output
43         );
44       int RequestInformation(
45         vtkInformation* information,
46         vtkInformationVector** input,
47         vtkInformationVector* output
48         );
49
50     private:
51       // Purposely not implemented
52       PolyDataToFourierSeriesFilter( const Self& );
53       void operator=( const Self& );
54
55     protected:
56       TFourierSeries m_FourierSeries;
57     };
58
59   } // ecapseman
60
61 } // ecapseman
62
63 #endif // __ivq__VTK__PolyDataToFourierSeriesFilter__h__
64
65 // eof - $RCSfile$