00001 #ifndef _VU_VOLUME_LIGHTFIELD_UNIMODAL_SphLfFlt_BestMatch_H_
00002 #define _VU_VOLUME_LIGHTFIELD_UNIMODAL_SphLfFlt_BestMatch_H_
00003
00004 #include "../vuSphericFilter.h"
00005 #include <GL/gl.h>
00006
00007 template <int SIZE, class TYPE>
00008 class vuSphLfFlt_BestMatch : public vuSphericFilter<SIZE,TYPE>
00009 {
00010 protected:
00011 using vuSphericFilter<SIZE,TYPE>::getNearestViews;
00012 using vuSphericFilter<SIZE,TYPE>::log;
00013 using vuSphericFilter<SIZE,TYPE>::m_volume;
00014 public:
00015 vuSphLfFlt_BestMatch(const vuString& filterName);
00016
00018 void calcFilteredViews(vuSphericView<SIZE,TYPE>**& views, dword& count);
00019
00021 virtual void preview(int hint);
00022 };
00023
00024 template class vuSphLfFlt_BestMatch<1,byte>;
00025 template class vuSphLfFlt_BestMatch<2,byte>;
00026 template class vuSphLfFlt_BestMatch<3,byte>;
00027 template class vuSphLfFlt_BestMatch<1,float>;
00028 template class vuSphLfFlt_BestMatch<2,float>;
00029 template class vuSphLfFlt_BestMatch<3,float>;
00030
00031 typedef vuSphLfFlt_BestMatch<1,byte> vuSphLfFlt_BestMatch1B;
00032 typedef vuSphLfFlt_BestMatch<2,byte> vuSphLfFlt_BestMatch2B;
00033 typedef vuSphLfFlt_BestMatch<3,byte> vuSphLfFlt_BestMatch3B;
00034 typedef vuSphLfFlt_BestMatch<1,float> vuSphLfFlt_BestMatch1F;
00035 typedef vuSphLfFlt_BestMatch<2,float> vuSphLfFlt_BestMatch2F;
00036 typedef vuSphLfFlt_BestMatch<3,float> vuSphLfFlt_BestMatch3F;
00037
00038 #endif