]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRendererView.h
2ea03f3d5b5cba83a890880efd6d1443b92cadbb
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasRendererView.h
1 /*=========================================================================
2
3   Program:   wxMaracas
4   Module:    $RCSfile: wxMaracasRendererView.h,v $
5   Language:  C++
6
7 =========================================================================*/
8
9 #ifndef __wxMaracasRendererViewPanelH__
10 #define __wxMaracasRendererViewPanelH__
11
12 #include <vector>
13 #include <wx/wx.h>
14 #include "wx/aui/aui.h"
15 #include <iostream>
16 #include "marTypes.h"
17 #include "vtkProp3D.h"
18
19 #include "wxMaracasRendererView.h"
20 #include "wxMaracasRenderTabbedPanel.h"
21 #include "wxMaracasMultipleVolumeRendererManager.h"
22 //#include "wxMaracasMultipleVolumeRendererPanel.h"
23 //#include "wxMaracasSurfaceRenderingProp3DMHD.h"
24 #include "wxMaracasSurfaceRenderingManager.h"
25
26
27 class  creaMaracasVisu_EXPORT  wxMaracasRendererView : public wxPanel
28 {
29
30 public:
31         wxMaracasRendererView( wxWindow* parent, std::string path);
32     ~wxMaracasRendererView( );
33
34         static wxMaracasRendererView* getInstance(wxWindow* parent,std::string path="");
35         static wxMaracasRendererView* getInstance();
36         void setRenderer(vtkRenderer*  renderer);
37
38         void loadVolume(wxString filename, wxString dataname);
39         void onLoadImageFile();
40         void addPanels(wxString filename, wxString dataname = _T(""));
41         wxMaracasRenderTabbedPanel* getTabbedPanel();
42         std::string getPath();
43         void deleteVolume(int volid);
44
45         void addRemoveActorVol(int id, bool remove);
46         void addRemoveSurf1Actor(int id, bool addremove);
47         void addRemoveSurf2Actor(int id, bool addremove);
48         void addRemoveSurf3Actor(int id, bool addremove);
49         
50         void SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue);
51         void SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values);
52
53         void addPanels(wxMaracasMultipleVolumeRendererPanel* irmview, std::string dataname);
54
55          vtkPiecewiseFunction* GetTransferFunction(int volumeid);
56          vtkColorTransferFunction* GetColorFunction(int volumeid);
57
58 private:
59         static wxMaracasRendererView* instance;
60
61         wxMaracasMultipleVolumeRendererManager* volmanager;
62         wxMaracasSurfaceRenderingManager* surrendmanager1;
63         wxMaracasSurfaceRenderingManager* surrendmanager2;
64         wxMaracasSurfaceRenderingManager* surrendmanager3;
65         
66         wxMaracasRenderTabbedPanel* wxtabs;
67         wxAuiManager* wxauimanager;
68         
69         std::string _path;
70
71         wxToolBar* _toolb;
72
73 };
74
75 class ToolBarEventHandlerRenderer : public wxEvtHandler{
76
77         public:
78                 ToolBarEventHandlerRenderer();
79                 ~ToolBarEventHandlerRenderer();
80
81                 void onLoadImageFile(wxCommandEvent& event);
82
83         private:
84
85                 DECLARE_EVENT_TABLE()
86         };
87
88 class ToolBarRenderer : public wxToolBar{
89
90         
91 public:
92         ToolBarRenderer(wxWindow * parent,std::string iconsdir);
93         ~ToolBarRenderer(void);
94
95
96 private:
97
98         ToolBarEventHandlerRenderer* _evthand;
99
100 };
101
102 #endif
103