00001
00006 #ifndef _VU_VOLUME_LIGHTFIELD_UNIMODAL_SPHERIC_FOURIER_BROWSER_H_
00007 #define _VU_VOLUME_LIGHTFIELD_UNIMODAL_SPHERIC_FOURIER_BROWSER_H_
00008
00009 #include "../Browser/browser.h"
00010 #include <fftw.h>
00011
00012 template <int SIZE, class TYPE>
00013 class vu1611_3 : public vu1611_1<SIZE,TYPE>
00014 {
00015 public:
00016 vu1611_3();
00017
00018 ~vu1611_3();
00019
00021 virtual void render();
00022
00024 virtual bool read(void);
00025
00026
00027 protected:
00028 using vu1611_1<SIZE,TYPE>::m_width;
00029 using vu1611_1<SIZE,TYPE>::m_height;
00030 using vu1611_1<SIZE,TYPE>::getCurrentView;
00032 vuFixelMap<SIZE,TYPE> *m_Map;
00033 fftwnd_plan m_Plan;
00034 bool m_PlanExists;
00035
00036 void _initPlanAndMap();
00037 };
00038
00039
00040 template class vu1611_3<1,byte>;
00041 template class vu1611_3<2,byte>;
00042 template class vu1611_3<3,byte>;
00043
00044 template class vu1611_3<1,float>;
00045 template class vu1611_3<2,float>;
00046 template class vu1611_3<3,float>;
00047
00048 typedef vu1611_3<1,byte> vu161113;
00049 typedef vu1611_3<2,byte> vu161123;
00050 typedef vu1611_3<3,byte> vu161133;
00051
00052 typedef vu1611_3<1,float> vu1611A3;
00053 typedef vu1611_3<2,float> vu1611B3;
00054 typedef vu1611_3<3,float> vu1611C3;
00055
00056 typedef vu161113 vuVolumeLightfieldUnimodalSpheric1BFourierBrowser;
00057 typedef vu161123 vuVolumeLightfieldUnimodalSpheric2BFourierBrowser;
00058 typedef vu161133 vuVolumeLightfieldUnimodalSpheric3BFourierBrowser;
00059
00060 typedef vu1611A3 vuVolumeLightfieldUnimodalSpheric1FFourierBrowser;
00061 typedef vu1611B3 vuVolumeLightfieldUnimodalSpheric2FFourierBrowser;
00062 typedef vu1611C3 vuVolumeLightfieldUnimodalSpheric3FFourierBrowser;
00063
00064 #endif