00001 #ifndef _VU_VOLUME_LIGHTFIELD_UNIMODAL_SphLfFlt_FitAngle_H_
00002 #define _VU_VOLUME_LIGHTFIELD_UNIMODAL_SphLfFlt_FitAngle_H_
00003
00004 #include "../vuSphericFilter.h"
00005
00006
00007
00008 template <int SIZE, class TYPE>
00009 class vuSphLfFlt_FitAngle : public vuSphericFilter<SIZE,TYPE>
00010 {
00011 protected:
00012 using vuSphericFilter<SIZE,TYPE>::m_volume;
00013 using vuSphericFilter<SIZE,TYPE>::getNearestViews;
00014 public:
00015 vuSphLfFlt_FitAngle(const vuString& filterName);
00016
00017 void calcFilteredViews(vuSphericView<SIZE,TYPE>**& views, dword& count);
00018
00020 void setAngle(float angle);
00021
00023 float getAngle();
00024
00025 public:
00026 float m_Angle;
00027 };
00028
00029 template class vuSphLfFlt_FitAngle<1,byte>;
00030 template class vuSphLfFlt_FitAngle<2,byte>;
00031 template class vuSphLfFlt_FitAngle<3,byte>;
00032 template class vuSphLfFlt_FitAngle<1,float>;
00033 template class vuSphLfFlt_FitAngle<2,float>;
00034 template class vuSphLfFlt_FitAngle<3,float>;
00035
00036 typedef vuSphLfFlt_FitAngle<1,byte> vuSphLfFlt_FitAngle1B;
00037 typedef vuSphLfFlt_FitAngle<2,byte> vuSphLfFlt_FitAngle2B;
00038 typedef vuSphLfFlt_FitAngle<3,byte> vuSphLfFlt_FitAngle3B;
00039 typedef vuSphLfFlt_FitAngle<1,float> vuSphLfFlt_FitAngle1F;
00040 typedef vuSphLfFlt_FitAngle<2,float> vuSphLfFlt_FitAngle2F;
00041 typedef vuSphLfFlt_FitAngle<3,float> vuSphLfFlt_FitAngle3F;
00042
00043 #endif