00001 #ifndef __GENERAL_VU_SphVwFlt_Blend_H__
00002 #define __GENERAL_VU_SphVwFlt_Blend_H__
00003
00004 #include "../vuSphericViewFilter.h"
00005
00006 template <int SIZE, class TYPE>
00007 class vuSphVwFlt_Blend : public vuSphericViewFilter<SIZE,TYPE>
00008 {
00009 private:
00010 using vuSphericViewFilter<SIZE,TYPE>::m_NumberOfViews;
00011 using vuSphericViewFilter<SIZE,TYPE>::m_Image;
00012 using vuSphericViewFilter<SIZE,TYPE>::m_Views;
00013 using vuSphericViewFilter<SIZE,TYPE>::log;
00014 public:
00015 vuSphVwFlt_Blend();
00016 vuSphVwFlt_Blend(const vuString& filterName);
00017
00018 bool needPreprocessing() { return false; };
00019 bool needViewsForFiltering() { return true; };
00020 void filter(vuCamera *camera);
00021
00022 protected:
00023 float _factor(dword idx, const vuVector &XX);
00024 };
00025
00026 template class vuSphVwFlt_Blend<1,byte>;
00027 template class vuSphVwFlt_Blend<2,byte>;
00028 template class vuSphVwFlt_Blend<3,byte>;
00029
00030 template class vuSphVwFlt_Blend<1,float>;
00031 template class vuSphVwFlt_Blend<2,float>;
00032 template class vuSphVwFlt_Blend<3,float>;
00033
00034 typedef vuSphVwFlt_Blend<1,byte> vuSphVwFlt_Blend1B;
00035 typedef vuSphVwFlt_Blend<2,byte> vuSphVwFlt_Blend2B;
00036 typedef vuSphVwFlt_Blend<3,byte> vuSphVwFlt_Blend3B;
00037
00038 typedef vuSphVwFlt_Blend<1,float> vuSphVwFlt_Blend1F;
00039 typedef vuSphVwFlt_Blend<2,float> vuSphVwFlt_Blend2F;
00040 typedef vuSphVwFlt_Blend<3,float> vuSphVwFlt_Blend3F;
00041
00042
00043 #endif