00001 #ifndef _VU_VOLUME_LIGHTFIELD_UNIMODAL_SphLfFlt_Nearest_H_
00002 #define _VU_VOLUME_LIGHTFIELD_UNIMODAL_SphLfFlt_Nearest_H_
00003
00004 #include "../vuSphericFilter.h"
00005
00006 template <int SIZE, class TYPE>
00007 class vuSphLfFlt_Nearest : public vuSphericFilter<SIZE,TYPE>
00008 {
00009 protected:
00010 using vuSphericFilter<SIZE,TYPE>::m_volume;
00011 using vuSphericFilter<SIZE,TYPE>::getNearestViews;
00012 public:
00013 vuSphLfFlt_Nearest(const vuString& filterName);
00014
00016 void calcFilteredViews(vuSphericView<SIZE,TYPE>**& views, dword& count);
00017
00019 void setNumberOfViews(int hint);
00021 dword getNumberOfViews();
00022
00023 protected:
00024 dword m_NumberOfViews;
00025 };
00026
00027 template class vuSphLfFlt_Nearest<1,byte>;
00028 template class vuSphLfFlt_Nearest<2,byte>;
00029 template class vuSphLfFlt_Nearest<3,byte>;
00030 template class vuSphLfFlt_Nearest<1,float>;
00031 template class vuSphLfFlt_Nearest<2,float>;
00032 template class vuSphLfFlt_Nearest<3,float>;
00033
00034 typedef vuSphLfFlt_Nearest<1,byte> vuSphLfFlt_Nearest1B;
00035 typedef vuSphLfFlt_Nearest<2,byte> vuSphLfFlt_Nearest2B;
00036 typedef vuSphLfFlt_Nearest<3,byte> vuSphLfFlt_Nearest3B;
00037 typedef vuSphLfFlt_Nearest<1,float> vuSphLfFlt_Nearest1F;
00038 typedef vuSphLfFlt_Nearest<2,float> vuSphLfFlt_Nearest2F;
00039 typedef vuSphLfFlt_Nearest<3,float> vuSphLfFlt_Nearest3F;
00040
00041 #endif