]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.h
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasSurfaceRendering.h
1 /*=========================================================================
2
3   Program:   wxMaracas
4   Module:    $RCSfile: wxMaracasSurfaceRendering.h,v $
5   Language:  C++
6   Date:      $Date: 2009/10/15 11:56:43 $
7   Version:   $Revision: 1.1 $
8
9   Copyright: (c) 2002, 2003
10   License:
11
12      This software is distributed WITHOUT ANY WARRANTY; without even
13      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14      PURPOSE.  See the above copyright notice for more information.
15
16 =========================================================================*/
17
18 #ifndef __wxMaracasSurfaceRenderingPanelH__
19 #define __wxMaracasSurfaceRenderingPanelH__
20
21 #include <vector>
22 #include <wx/wx.h>
23 #include "wx/aui/aui.h"
24 #include <iostream>
25 #include "marTypes.h"
26 #include "vtkProp3D.h"
27
28 #include "wxMaracasSurfaceRenderingManager.h"
29 #include "wxMaracasSurfaceRenderingPanel.h"
30
31
32
33 class  creaMaracasVisu_EXPORT  wxMaracasSurfaceRendering : public wxPanel
34 {
35
36 public:
37         wxMaracasSurfaceRendering( wxWindow* parent, std::string path);
38     ~wxMaracasSurfaceRendering( );
39
40         static wxMaracasSurfaceRendering* getInstance(wxWindow* parent,std::string path="");
41
42         static wxMaracasSurfaceRendering* getInstance();
43
44         void setRenderer(vtkRenderer*  renderer);
45
46         void changeOpacity(int propid, int value);
47
48         void changeIsoValue(int propid, double value);
49
50     void addRemoveActor(int propid, bool addremove);
51
52         void changeColor(int propid, double red, double green, double blue);
53
54         void addProp3D(vtkProp3D* prop3D, std::string dataname="");
55
56         void addPropMHD(vtkImageData* imgdata, std::string dataname="");
57
58         void loadProp3D(wxString filename, wxString dataname);
59
60         void loadPropMHD(wxString filename, wxString dataname);
61
62         void onLoadImageFile();
63
64         void addSurfaceRenderingPanel(wxMaracasSurfaceRenderingPanel* surrend, std::string dataname="");
65
66         std::string getPath();
67
68         void deleteActor(int propid);
69 private:
70         static wxMaracasSurfaceRendering* instance;
71
72         wxMaracasSurfaceRenderingManager* surrendmanager;
73
74         wxAuiManager* wxauimanager;
75
76         void createFileChooser();
77
78         std::string _path;
79
80         wxToolBar* _toolb;
81
82 };
83
84 class ToolBarEventHandler : public wxEvtHandler{
85
86         public:
87                 ToolBarEventHandler();
88                 ~ToolBarEventHandler();
89
90                 void onLoadImageFile(wxCommandEvent& event);
91
92         private:
93
94                 DECLARE_EVENT_TABLE()
95         };
96
97 class ToolBar : public wxToolBar{
98
99         
100 public:
101         ToolBar(wxWindow * parent,std::string iconsdir);
102         ~ToolBar(void);
103
104
105 private:
106
107         ToolBarEventHandler* _evthand;
108
109 };
110
111 #endif
112