]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasRenderTabbedPanel.h
1 #ifndef wxMaracasRenderTabbedPanel_H_
2 #define wxMaracasRenderTabbedPanel_H_
3
4 #include <wx/wx.h>
5 #include <wx/notebook.h> 
6 #include "wxMaracasRenderImageManagementPanel.h"
7
8 #include "wxMaracasMultipleVolumeRendererManager.h"
9 #include "wxMaracasSurfaceRenderingManager.h"
10
11
12
13 class wxMaracasRenderTabbedPanel : public wxPanel
14 {
15         
16 public:
17         wxMaracasRenderTabbedPanel(wxWindow* parent, int id);
18         ~wxMaracasRenderTabbedPanel();
19
20         void createControls(vtkImageData* inImg, std::string pathfile, std::string filename);
21         void setRenderer(vtkRenderer* rend);
22         void addVolume(vtkImageData* img, std::string dataname);
23         void addSurface1(vtkImageData* img, std::string dataname);
24         void addSurface2(vtkImageData* img, std::string dataname);
25         void addSurface3(vtkImageData* img, std::string dataname);
26
27         void deleteVolume(int volid);
28         void Transform(vtkMatrix4x4* tmatrix);
29         void addRemoveActorV(int id, bool addremove);
30         void addRemoveActorSA(int id, bool addremove);
31         void addRemoveActorSB(int id, bool addremove);
32         void addRemoveActorSC(int id, bool addremove);
33
34         // ----- Volume rendering functions ----- //
35         void SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue);
36         void SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values);
37         vtkPiecewiseFunction* GetTransferFunction(int volumeid);
38         vtkColorTransferFunction* GetColorFunction(int volumeid);
39
40         // ----- Surface rendering functions ----- //
41         void changeOpacityA(int _propid, int value);
42         void changeIsoValueA(int propid, double value);
43         void changeColorA(int propid, double red, double green, double blue);
44         void changeOpacityB(int _propid, int value);
45         void changeIsoValueB(int propid, double value);
46         void changeColorB(int propid, double red, double green, double blue);
47         void changeOpacityC(int _propid, int value);
48         void changeIsoValueC(int propid, double value);
49         void changeColorC(int propid, double red, double green, double blue);
50         
51         void onCheckBoxVChange(wxCommandEvent& event);
52         void onCheckBoxSAChange(wxCommandEvent& event);
53         void onCheckBoxSBChange(wxCommandEvent& event);
54         void onCheckBoxSCChange(wxCommandEvent& event);
55
56         void onOpenParameters(wxCommandEvent& event);
57         void onColorChange(wxCommandEvent& event);
58         void onOpenCutter(wxCommandEvent& event);
59
60         vtkImageData* getVolImage();
61         vtkImageData* getSurfAImage();
62         vtkImageData* getSurfBImage();
63         vtkImageData* getSurfCImage();
64
65         int getPropIdV();
66         
67 private:
68         wxCheckBox* checkboxVol;
69         wxCheckBox* checkboxSA;
70         wxCheckBox* checkboxSB;
71         wxCheckBox* checkboxSC;
72         //wxBitmapButton* _viewimage;
73
74         wxNotebook* wxtabs;
75         wxMaracasRenderImageManagementPanel* dialog;
76
77         bool first;
78
79         wxMaracasMultipleVolumeRendererManager* volmanager;
80         wxMaracasSurfaceRenderingManager* surrendmanager1;
81         wxMaracasSurfaceRenderingManager* surrendmanager2;
82         wxMaracasSurfaceRenderingManager* surrendmanager3;
83
84         int _id;
85 };
86
87 #endif /*wxMaracasMultipleVolumeRendererPanel_H_*/
88