00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __wxMaracasIRMViewPanelH__
00019 #define __wxMaracasIRMViewPanelH__
00020
00021 #include <vector>
00022 #include <wx/wx.h>
00023 #include "wx/aui/aui.h"
00024 #include <iostream>
00025 #include "marTypes.h"
00026 #include "vtkProp3D.h"
00027
00028 #include "wxMaracasIRMViewManager.h"
00029 #include "wxMaracasIRMViewPanel.h"
00030
00031
00032
00033 class creaMaracasVisu_EXPORT wxMaracasIRMView : public wxPanel
00034 {
00035
00036 public:
00037 wxMaracasIRMView( wxWindow* parent, std::string path);
00038 ~wxMaracasIRMView( );
00039
00040 static wxMaracasIRMView* getInstance(wxWindow* parent,std::string path="");
00041
00042 static wxMaracasIRMView* getInstance();
00043
00044 void setRenderer(vtkRenderer* renderer);
00045
00046 void changeOpacity(int propid, int value);
00047
00048 void changeIsoValue(int propid, double value);
00049
00050 void addRemoveActor(int propid, bool addremove);
00051
00052 void changeColor(int propid, double red, double green, double blue);
00053
00054 void addProp3D(vtkProp3D* prop3D, std::string dataname="");
00055
00056 void addPropMHD(vtkImageData* imgdata, std::string dataname="");
00057
00058 void loadProp3D(wxString filename, wxString dataname);
00059
00060 void loadPropMHD(wxString filename, wxString dataname);
00061
00062 void onLoadImageFile();
00063
00064 void addIRMViewPanel(wxMaracasIRMViewPanel* irmview, std::string dataname="");
00065
00066 std::string getPath();
00067
00068 void deleteActor(int propid);
00069 private:
00070 static wxMaracasIRMView* instance;
00071
00072 wxMaracasIRMViewManager* irmmanager;
00073
00074 wxAuiManager* wxauimanager;
00075
00076 void createFileChooser();
00077
00078 std::string _path;
00079
00080 wxToolBar* _toolb;
00081
00082 };
00083
00084 class ToolBarEventHandler : public wxEvtHandler{
00085
00086 public:
00087 ToolBarEventHandler();
00088 ~ToolBarEventHandler();
00089
00090 void onLoadImageFile(wxCommandEvent& event);
00091
00092 private:
00093
00094 DECLARE_EVENT_TABLE()
00095 };
00096
00097 class ToolBar : public wxToolBar{
00098
00099
00100 public:
00101 ToolBar(wxWindow * parent,std::string iconsdir);
00102 ~ToolBar(void);
00103
00104
00105 private:
00106
00107 ToolBarEventHandler* _evthand;
00108
00109 };
00110
00111 #endif
00112