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

vuStandardFVR.h

Go to the documentation of this file.
00001 
00002 
00003 #ifndef _VU_STANDARD_FVR_H_
00004 #define _VU_STANDARD_FVR_H_
00005 
00006 #include "../../vuBasicUtility.h"
00007 #include "Volume/Fourier/Unimodal/3d/StandardFVR/StandardFVR.h"
00008 
00009 template<int SIZE>
00010 class vuStandardFVR : public vuBasicUtility
00011 {
00012 protected:
00013 
00014 enum
00015 {
00016   idFILTER,
00017   idRENDERMETHOD,
00018   idIMAGESCALE,
00019   idFITSCALE,
00020   idCHANNELS
00021 };
00022 
00023 public:
00025     vuStandardFVR();
00026 
00028     ~vuStandardFVR();
00029 
00030     virtual const char *_titleString();
00031 
00035     virtual bool init(const char* DataFile);
00036 
00037     // These functions are needed by the keyframer. But since the keyframer
00038     // should work directly on the render objects and not on the GUI, these
00039     // functions should be replaced by an additional renderer-API. -ms-
00040     virtual vuCamera* getCamera();
00041     virtual vuImage* getCurrentImage();
00042     virtual void DrawFromImage();
00043     virtual void DrawAgain();
00044 
00046     wxString helpText();
00047 
00048 public:
00049     //The following methods are overridden to add controls to the window.
00051     virtual void addRight(wxSizer *sizer);
00052     virtual void addBottom(wxSizer *sizer);
00053 
00054 protected:
00059     bool glInit();
00060 
00064     void glRender();
00065 
00067 
00068     void glResize();
00069 
00071     void onKeyboard(wxKeyEvent &event);
00072 
00073     void OnChoiceRenderMethod(wxCommandEvent& event);
00074     void OnChoiceFilter(wxCommandEvent& event);
00075     void OnButtonFitScale(wxCommandEvent& event);
00076     void OnSliderImageScale(wxScrollEvent& event);
00077     void OnCheckboxChannels(wxCommandEvent& event);
00078 
00079     vu1* getVolume();
00080 
00081     void _addChannelControls(wxFlexGridSizer *sizer);
00082 
00083  protected:
00085     vu1712_1<SIZE> *m_Data;
00086 
00087     // UI interface
00088     wxChoice    *m_CHOICEfilter;
00089     wxChoice    *m_CHOICErenderMethod;
00090     wxButton    *m_BUTTONfitScale;
00091     wxSlider    *m_SLIDERimageScale;
00092     wxCheckBox **m_CHECKBOXchannels;
00093 };
00094 
00095 template class vuStandardFVR<1>;
00096 template class vuStandardFVR<2>;
00097 template class vuStandardFVR<3>;
00098 
00099 #endif  /* _VU_STANDARD_FVR_H_ */

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