]> 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 #include "wxVtkBaseView.h"
19
20 #include "wxMaracasRendererView.h"
21 #include "wxMaracasRenderTabbedPanel.h"
22 #include "wxMaracasMultipleVolumeRendererManager.h"
23 #include "wxMaracasSurfaceRenderingManager.h"
24 //#include "wxMaracasMultipleVolumeRendererPanel.h"
25 //#include "wxMaracasSurfaceRenderingProp3DMHD.h"
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
37         std::string getPath();
38         wxMaracasRenderTabbedPanel* getTabbedPanel(int id) throw(char*);
39
40         void setRenderer(vtkRenderer*  renderer); /* throw(char*), */   // JPR
41         void setVtkBaseView(wxVtk3DBaseView* base);
42         void onLoadImageFile();
43         void addVolumes(vtkImageData* img, std::string pathfile, std::string filename);
44         void addPanels(wxMaracasRenderTabbedPanel* wxtabs, vtkImageData* img, std::string pathfile, std::string filename);
45
46         void deleteVolume(int volid);
47         void addRemoveActorVol(int id, bool remove);
48         void addRemoveSurf1Actor(int id, bool addremove);
49         void addRemoveSurf2Actor(int id, bool addremove);
50         void addRemoveSurf3Actor(int id, bool addremove);
51
52         std::vector<std::string> getFiles();
53
54 private:
55         static wxMaracasRendererView* instance;
56
57         std::vector<wxMaracasRenderTabbedPanel*> tabsVector;
58         std::vector<std::string> files;
59
60         wxAuiManager* wxauimanager;
61         wxToolBar * _toolb;
62
63         vtkRenderer*  _renderer;
64         wxVtk3DBaseView* baseView;
65         std::string _path;
66
67         int _idCount;
68 };
69
70 class ToolBarEventHandlerRenderer : public wxEvtHandler
71 {
72         public:
73                 ToolBarEventHandlerRenderer();
74                 ~ToolBarEventHandlerRenderer();
75
76                 void onLoadImageFile(wxCommandEvent& event);
77
78         private:
79
80                 DECLARE_EVENT_TABLE()
81         };
82
83 class ToolBarRenderer : public wxToolBar{
84
85 public:
86         ToolBarRenderer(wxWindow * parent,std::string iconsdir);
87         ~ToolBarRenderer(void);
88
89 private:
90
91         ToolBarEventHandlerRenderer* _evthand;
92 };
93
94 #endif