]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRendererView.h
*** empty log message ***
[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 "wxMaracasSurfaceRenderingManager.h"
23 //#include "wxMaracasMultipleVolumeRendererPanel.h"
24 //#include "wxMaracasSurfaceRenderingProp3DMHD.h"
25
26 class  creaMaracasVisu_EXPORT  wxMaracasRendererView : public wxPanel
27 {
28
29 public:
30         wxMaracasRendererView( wxWindow* parent, std::string path);
31     ~wxMaracasRendererView( );
32
33         static wxMaracasRendererView* getInstance(wxWindow* parent,std::string path="");
34         static wxMaracasRendererView* getInstance();
35         void setRenderer(vtkRenderer*  renderer);
36
37         void loadVolume(wxString filename, wxString dataname);
38         void onLoadImageFile();
39         void addPanels(wxString filename, wxString dataname = _T(""));
40         
41         wxMaracasRenderTabbedPanel* getTabbedPanel();
42         std::string getPath();
43
44         void deleteVolume(int volid);
45
46         void addRemoveActorVol(int id, bool remove);
47         void addRemoveSurf1Actor(int id, bool addremove);
48         void addRemoveSurf2Actor(int id, bool addremove);
49         void addRemoveSurf3Actor(int id, bool addremove);
50         
51         //void SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue);
52         //void SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values);
53
54         //vtkPiecewiseFunction* GetTransferFunction(int volumeid);
55         //vtkColorTransferFunction* GetColorFunction(int volumeid);
56
57 private:
58         static wxMaracasRendererView* instance;
59
60         wxMaracasRenderTabbedPanel* wxtabs;
61         wxAuiManager* wxauimanager;
62         
63         std::string _path;
64         wxToolBar * _toolb;
65
66 };
67
68 class ToolBarEventHandlerRenderer : public wxEvtHandler
69 {
70
71         public:
72                 ToolBarEventHandlerRenderer();
73                 ~ToolBarEventHandlerRenderer();
74
75                 void onLoadImageFile(wxCommandEvent& event);
76
77         private:
78
79                 DECLARE_EVENT_TABLE()
80         };
81
82 class ToolBarRenderer : public wxToolBar{
83
84         
85 public:
86         ToolBarRenderer(wxWindow * parent,std::string iconsdir);
87         ~ToolBarRenderer(void);
88
89
90 private:
91
92         ToolBarEventHandlerRenderer* _evthand;
93
94 };
95
96 #endif