00001 #ifndef _wxUIElements_vuSimpleFVRCanvas_h_ 00002 #define _wxUIElements_vuSimpleFVRCanvas_h_ 00003 00004 #include <wx/wx.h> 00005 #include "vuBasicSubViewer.h" 00006 #include "General/vuLightfield/vuFixelMap.h" 00007 #include "General/vuFourier/vuFourierVolume.h" 00008 #include "Volume/Regular/Unimodal/3d/1B/Intensity/SimpleFVR/vuSimpleFVR.h" 00009 00010 class vuSimpleFVRCanvas : public vuBasicSubViewerCanvas 00011 { 00012 public: 00014 vuSimpleFVRCanvas(vuBasicSubViewer *parent, wxWindowID id=-1); 00016 ~vuSimpleFVRCanvas(); 00017 00019 void setFVR(vu1112119 *fvr); 00020 void setFourierVolume(vuFourierVolume1 *volume); 00021 00023 00035 void setRenderMethod(dword method); 00036 00038 void setImageScale(float scale); 00039 00040 protected: 00042 bool glInit(); 00044 void render(); 00046 void resize(); 00047 00049 void _clearCanvas(); 00050 00052 void _renderImage(); 00053 00054 void _copyDeltaImageToRGB(vuFixelMap1F *errorMap, vuFixelMap3F *rgbMap); 00055 00056 void _renderImageOld(); 00057 00059 bool _substract(vuFixelMap1F *srcImg, vuFixelMap1F* destImg); 00060 00062 void postEvent(wxEventType ev); 00063 00064 protected: 00065 vu1112119 *m_FVR; 00066 vuFourierVolume1 *m_FourierVolume; 00067 dword m_RenderMethod; 00068 vuFixelMap1F *m_Image; 00069 vuFixelMap3F *m_ImageRGB; 00070 float m_ImageScale; 00071 }; 00072 00073 #endif /* _wxUIElements_vuSimpleFVRCanvas_h_ */