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

FVR/TorstensFilters.h

Go to the documentation of this file.
00001 #ifndef _TORSTENSFILTERS_H_
00002 #define _TORSTENSFILTERS_H_
00003 
00004 #include "SimpleDefs.h"
00005 #include "vuSimpleTypes.h"
00006 #include "Filter.h"
00007 #include "tfilters.h"
00008 
00009 namespace FVR_NS {
00010 
00011 // max extent of a filter for things to work
00012 //#define MAX_TFILTER_EXTENT    10 
00013 #define MAX_TFILTER_EXTENT      20 //the second half is for the gradients!
00014 
00015 class TorstensFilters : public Filter
00016 {
00017 public:
00018     TorstensFilters();
00019     TorstensFilters(TorstensFilters& l);
00020     TorstensFilters(int (*filter)(t_data a, t_data t, t_data *coeff), t_data a = 0.0f);
00021     virtual ~TorstensFilters();
00022 
00023     void SetFilter(int (*filter)(t_data a, t_data t, t_data *coeff), t_data a = 0.0f);
00024 
00025     virtual dword getWidth(void);
00026 
00027     TorstensFilters& operator=(TorstensFilters& rhs);
00028 
00029 protected:
00030         virtual void MakeWeights(void);
00031 
00032 private:
00033     void MakeWeightCube(t_data* w, vuVector* v, t_data ti, t_data tj, t_data tk);
00034 
00035 private:
00036     int (*m_Filter)(t_data a, t_data t, t_data *coeff);
00037     dword m_FilterWidth;
00038     t_data m_a;
00039 };
00040 
00041 } // NS_END
00042 
00043 #endif
00044 

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