wxMaracasSurfaceRendering.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __wxMaracasSurfaceRenderingPanelH__
00019 #define __wxMaracasSurfaceRenderingPanelH__
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 "wxMaracasSurfaceRenderingManager.h"
00029 #include "wxMaracasSurfaceRenderingPanel.h"
00030
00031 class creaMaracasVisu_EXPORT wxMaracasSurfaceRendering : public wxPanel
00032 {
00033
00034 public:
00035 wxMaracasSurfaceRendering( wxWindow* parent, std::string path);
00036 ~wxMaracasSurfaceRendering( );
00037
00038 static wxMaracasSurfaceRendering* getInstance(wxWindow* parent,std::string path="");
00039
00040 static wxMaracasSurfaceRendering* getInstance();
00041
00042 void setRenderer(vtkRenderer* renderer);
00043
00044 void setInteractor(vtkRenderWindowInteractor* interactor);
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 addRemoveSurfaceBox(int propid, bool addremove);
00053
00054 void changeColor(int propid, double red, double green, double blue);
00055
00056 void addProp3D(vtkProp3D* prop3D, std::string dataname="");
00057
00058 void addPropMHD(vtkImageData* imgdata, std::string dataname="");
00059
00060 void loadProp3D(wxString filename, wxString dataname);
00061
00062 void loadPropMHD(wxString filename, wxString dataname);
00063
00064 void onLoadImageFile();
00065
00066 void addSurfaceRenderingPanel(wxMaracasSurfaceRenderingPanel* surrend, std::string dataname="");
00067
00068 std::string getPath();
00069
00070 void deleteActor(int propid);
00071
00072 bool interactorSet();
00073
00074 private:
00075 static wxMaracasSurfaceRendering* instance;
00076
00077 wxMaracasSurfaceRenderingManager* surrendmanager;
00078
00079 wxAuiManager* wxauimanager;
00080
00081 wxToolBar* _toolb;
00082
00083 std::string _path;
00084
00085 void createFileChooser();
00086 };
00087
00088 class ToolBarEventHandler : public wxEvtHandler{
00089
00090 public:
00091 ToolBarEventHandler();
00092 ~ToolBarEventHandler();
00093
00094 void onLoadImageFile(wxCommandEvent& event);
00095
00096 private:
00097
00098 DECLARE_EVENT_TABLE()
00099 };
00100
00101 class ToolBar : public wxToolBar{
00102
00103 public:
00104 ToolBar(wxWindow * parent,std::string iconsdir);
00105 ~ToolBar(void);
00106
00107 private:
00108
00109 ToolBarEventHandler* _evthand;
00110 };
00111
00112 #endif