wxMaracasMultipleVolumeRendererView.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 __wxMaracasMultipleVolumeRendererViewPanelH__
00019 #define __wxMaracasMultipleVolumeRendererViewPanelH__
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 "wxMaracasMultipleVolumeRendererManager.h"
00029 #include "wxMaracasMultipleVolumeRendererPanel.h"
00030
00031
00032
00033 class creaMaracasVisu_EXPORT wxMaracasMultipleVolumeRendererView : public wxPanel
00034 {
00035
00036 public:
00037 wxMaracasMultipleVolumeRendererView( wxWindow* parent, std::string path);
00038 ~wxMaracasMultipleVolumeRendererView( );
00039
00040 static wxMaracasMultipleVolumeRendererView* getInstance(wxWindow* parent,std::string path="");
00041
00042 static wxMaracasMultipleVolumeRendererView* getInstance();
00043
00044 void setRenderer(vtkRenderer* renderer);
00045
00046 void addVolume(vtkImageData* img, std::string dataname="");
00047
00048 void loadVolume(wxString filename, wxString dataname);
00049
00050 void onLoadImageFile();
00051
00052 void addVolumeRendererPanel(wxMaracasMultipleVolumeRendererPanel* irmview, std::string dataname="");
00053
00054 std::string getPath();
00055
00056 void deleteVolume(int volid);
00057
00058 void addRemoveActor(int id, bool remove);
00059
00060 void SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue);
00061 void SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values);
00062
00063 void addVolumeViewPanel(wxMaracasMultipleVolumeRendererPanel* irmview, std::string dataname);
00064
00065 vtkPiecewiseFunction* GetTransferFunction(int volumeid);
00066 vtkColorTransferFunction* GetColorFunction(int volumeid);
00067
00068 std::vector<vtkImageData*> GetOutputImages();
00069
00070 void changeCompositeMIPFunction(int id, int function);
00071
00072 wxMaracasMultipleVolumeRendererManager* getVolumeRenderManager();
00073
00074 private:
00075 static wxMaracasMultipleVolumeRendererView* instance;
00076
00077 wxMaracasMultipleVolumeRendererManager* volmanager;
00078 wxAuiManager* wxauimanager;
00079 wxToolBar* _toolb;
00080
00081 std::string _path;
00082 std::vector<vtkImageData*> imgVect;
00083 };
00084
00085 class ToolBarEventHandlerMultipleVolumeRenderer : public wxEvtHandler{
00086
00087 public:
00088 ToolBarEventHandlerMultipleVolumeRenderer();
00089 ~ToolBarEventHandlerMultipleVolumeRenderer();
00090
00091 void onLoadImageFile(wxCommandEvent& event);
00092
00093 private:
00094
00095 DECLARE_EVENT_TABLE()
00096 };
00097
00098 class ToolBarMultipleVolumeRenderer : public wxToolBar{
00099
00100
00101 public:
00102 ToolBarMultipleVolumeRenderer(wxWindow * parent,std::string iconsdir);
00103 ~ToolBarMultipleVolumeRenderer(void);
00104
00105
00106 private:
00107
00108 ToolBarEventHandlerMultipleVolumeRenderer* _evthand;
00109
00110 };
00111
00112 #endif
00113