Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vuSphericIBR.h

Go to the documentation of this file.
00001 #ifndef _VU_SPHERIC_IBR_UTILITY_H_
00002 #define _VU_SPHERIC_IBR_UTILITY_H_
00003 
00004 #include <wx/wx.h>
00005 #include "../../vuBasicUtility.h"
00006 #include "vuCamera.h"
00007 #include "Volume/Lightfield/Unimodal/Spheric/IBR/ibr.h"
00008 #include "../../../wxUIElements/vuSphericViewWin.h"
00009 #include "../../../vuPreviewWin.h"
00010 
00012 template <int SIZE, class TYPE>
00013 class vuSphericIBR : public vuBasicUtility
00014 {
00015 protected:
00016 enum
00017   {
00018     idFILTER,
00019     idSUBFILTER
00020   };
00021 
00022 public:
00024     vuSphericIBR();
00025 
00027     ~vuSphericIBR();
00028 
00029     virtual const char *_titleString();
00030 
00034     bool init(const char* DataFile);
00035 
00036 public:
00037     //The following methods are overridden to add controls to the window.
00039     virtual void addRight(wxSizer *sizer);
00040 
00041 protected:
00046     bool glInit();
00047 
00049     void glRender();
00050 
00052     void glResize();
00053 
00055     void onMouse(wxMouseEvent &ev);
00056 
00058     void onKeyboard(wxKeyEvent& event);
00059 
00061     vu1 *getVolume();
00062 
00063     /* --- some GUI callbacks ---------------------------------------------- */
00065     void OnChoiceFilter(wxCommandEvent& event);
00066 
00068     void OnChoiceSubFilter(wxCommandEvent& event);
00069 
00070 private:
00071     void _updateSubFilterChoice();
00072 
00073 protected:
00075     vu1611_2<SIZE,TYPE> *m_Data;
00076 
00077 private:
00078     // Some wxWindows GUI Elements...
00080     wxChoice         *m_CHOICEfilter;
00081     wxChoice         *m_CHOICEsubFilter;
00082     vuSphericViewWin *m_SphericView;
00083     vuPreviewWin     *m_Preview;
00084 
00085 public:
00086     virtual vuCamera* getCamera();
00087     virtual vuImage* getCurrentImage();
00088     virtual void DrawFromImage();
00089     virtual void DrawAgain();
00090 };
00091 
00092 
00093 template class vuSphericIBR<1,byte>;
00094 template class vuSphericIBR<2,byte>;
00095 template class vuSphericIBR<3,byte>;
00096 template class vuSphericIBR<1,float>;
00097 template class vuSphericIBR<2,float>;
00098 template class vuSphericIBR<3,float>;
00099 
00100 #endif /* _VU_SPHERIC_IBR_UTILITY_H_ */

Generated on Wed Dec 15 21:20:36 2004 for vuVolume by  doxygen 1.3.9.1