]> 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/11/13 11:47:41 $
7   Version:   $Revision: 1.3 $
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 setInteractor(vtkRenderWindowInteractor*  interactor);
47
48         void changeOpacity(int propid, int value);
49
50         void changeIsoValue(int propid, double value);
51
52     void addRemoveActor(int propid, bool addremove);
53
54         void addRemoveSurfaceBox(int propid, bool addremove);
55
56         void changeColor(int propid, double red, double green, double blue);
57
58         void addProp3D(vtkProp3D* prop3D, std::string dataname="");
59
60         void addPropMHD(vtkImageData* imgdata, std::string dataname="");
61
62         void loadProp3D(wxString filename, wxString dataname);
63
64         void loadPropMHD(wxString filename, wxString dataname);
65
66         void onLoadImageFile();
67
68         void addSurfaceRenderingPanel(wxMaracasSurfaceRenderingPanel* surrend, std::string dataname="");
69
70         std::string getPath();
71
72         void deleteActor(int propid);
73 private:
74         static wxMaracasSurfaceRendering* instance;
75
76         wxMaracasSurfaceRenderingManager* surrendmanager;
77         wxAuiManager* wxauimanager;
78         wxToolBar* _toolb;
79
80         std::string _path;
81
82         void createFileChooser();
83         
84
85 };
86
87 class ToolBarEventHandler : public wxEvtHandler{
88
89         public:
90                 ToolBarEventHandler();
91                 ~ToolBarEventHandler();
92
93                 void onLoadImageFile(wxCommandEvent& event);
94
95         private:
96
97                 DECLARE_EVENT_TABLE()
98         };
99
100 class ToolBar : public wxToolBar{
101
102         
103 public:
104         ToolBar(wxWindow * parent,std::string iconsdir);
105         ~ToolBar(void);
106
107
108 private:
109
110         ToolBarEventHandler* _evthand;
111
112 };
113
114 #endif
115