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