Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vuTorstensFourierFilter.h

Go to the documentation of this file.
00001 #ifndef _VU_TORSTENS_FOURIER_FILTER_H_
00002 #define _VU_TORSTENS_FOURIER_FILTER_H_
00003 
00004 #include "vuFourierFilter.h"
00005 #include "torstensFilters.h"
00006 
00007 // max extent of a filter for things to work
00008 #define VU_MAX_TFILTER_EXTENT 10
00009 
00010 class vuTorstensFourierFilter : public vuFourierFilter
00011 {
00012 public:
00013     vuTorstensFourierFilter();
00014     vuTorstensFourierFilter(vuTorstensFourierFilter& l);
00015     vuTorstensFourierFilter(int (*filter)(float a, float t, float *coeff),
00016                              float a = 0.0f);
00017     vuTorstensFourierFilter(int (*filter)(float a, float t, float *coeff),
00018                              const vuString& filterName, float a = 0.0f);
00019 
00020     virtual ~vuTorstensFourierFilter();
00021 
00022     void SetFilter(int (*filter)(float a,float t,float *coeff), float a=0.0f);
00023 
00024     virtual dword getWidth(void);
00025 
00026     vuTorstensFourierFilter& operator=(vuTorstensFourierFilter& rhs);
00027 
00028     // filter factory methods
00029     static void getFilterNames(vuString* &filterNames, dword& numOfNames);
00030     static vuTorstensFourierFilter *getFilter(const vuString& filterName);
00031 
00032 protected:
00033     virtual void MakeWeights(void);
00034 
00035 private:
00036     void MakeWeightCube(float* w, float ti, float tj, float tk);
00037 
00038 private:
00039     int (*m_Filter)(float a, float t, float *coeff);
00040     dword m_FilterWidth;
00041     float m_a;
00042 };
00043 
00044 #endif /* _VU_TORSTENS_FOURIER_FILTER_H_ */

Generated on Wed Dec 15 21:20:38 2004 for vuVolume by  doxygen 1.3.9.1