1 /*# ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 # This software is governed by the CeCILL-B license under French law and
10 # abiding by the rules of distribution of free software. You can use,
11 # modify and/ or redistribute the software under the terms of the CeCILL-B
12 # license as circulated by CEA, CNRS and INRIA at the following URL
13 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 # or in the file LICENSE.txt.
16 # As a counterpart to the access to the source code and rights to copy,
17 # modify and redistribute granted by the license, users are provided only
18 # with a limited warranty and the software's author, the holder of the
19 # economic rights, and the successive licensors have only limited
22 # The fact that you are presently reading this means that you have had
23 # knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
26 #include "wxMaracasRenderImageManagementPanel.h"
29 #include <vtkVolume.h>
34 wxMaracasRenderImageManagementPanel::wxMaracasRenderImageManagementPanel(wxWindow* parent, VolumeRendererManager* _vol, wxMaracasSurfaceRenderingManager* _surface1,
35 wxMaracasSurfaceRenderingManager* _surface2, wxMaracasSurfaceRenderingManager* _surface3, wxString title, int id)
36 : wxDialog(parent, -1, title, wxDefaultPosition, wxDefaultSize, wxRESIZE_BORDER|wxDEFAULT_DIALOG_STYLE)
38 wxtrasform = new wxMaracasRenderImageTransformation(_vol, _surface1, _surface2, _surface3, id);
45 void wxMaracasRenderImageManagementPanel::createControls()
47 wxFlexGridSizer* sizersliders = new wxFlexGridSizer(1);
49 wxStaticText* tx = new wxStaticText(this, -1, wxString(_T(" Translate X ")));
50 sliderTranslateX = new wxSlider(this, -1, 0, -200, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
51 sliderTranslateX->SetLineSize(1);
52 Connect(sliderTranslateX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
53 sizersliders->Add(tx, wxFIXED_MINSIZE);
54 sizersliders->Add(sliderTranslateX, 1, wxALL|wxEXPAND, 2);
56 wxStaticText* ty = new wxStaticText(this, -1, wxString(_T(" Translate Y ")));
57 sliderTranslateY = new wxSlider(this, -1, 0, -200, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
58 sliderTranslateY->SetLineSize(1);
59 Connect(sliderTranslateY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
60 sizersliders->Add(ty, wxFIXED_MINSIZE);
61 sizersliders->Add(sliderTranslateY, 1, wxALL|wxEXPAND, 2);
63 wxStaticText* tz = new wxStaticText(this, -1, wxString(_T(" Translate Z ")));
64 sliderTranslateZ = new wxSlider(this, -1, 0, -200, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
65 sliderTranslateZ->SetLineSize(1);
66 Connect(sliderTranslateZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
67 sizersliders->Add(tz, wxFIXED_MINSIZE);
68 sizersliders->Add(sliderTranslateZ,wxSizerFlags().Expand().Center());
70 wxStaticText* rx = new wxStaticText(this, -1, wxString(_T(" Rotate X ")));
71 sliderRotateX = new wxSlider(this, -1, 0, -360, 360, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
72 sliderRotateX->SetLineSize(1);
73 Connect(sliderRotateX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
74 sizersliders->Add(rx, wxFIXED_MINSIZE);
75 sizersliders->Add(sliderRotateX,wxSizerFlags().Expand().Center());
77 wxStaticText* ry = new wxStaticText(this, -1, wxString(_T(" Rotate Y ")));
78 sliderRotateY = new wxSlider(this, -1, 0, -360, 360, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
79 sliderRotateY->SetLineSize(1);
80 Connect(sliderRotateY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
81 sizersliders->Add(ry, wxFIXED_MINSIZE);
82 sizersliders->Add(sliderRotateY,wxSizerFlags().Expand().Center());
84 wxStaticText* rz = new wxStaticText(this, -1, wxString(_T(" Rotate Z ")));
85 sliderRotateZ = new wxSlider(this, -1, 0, -360, 360, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
86 sliderRotateZ->SetLineSize(1);
87 Connect(sliderRotateZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
88 sizersliders->Add(rz, wxFIXED_MINSIZE);
89 sizersliders->Add(sliderRotateZ,wxSizerFlags().Expand().Center());
91 wxStaticText* sx = new wxStaticText(this, -1, wxString(_T(" Scale X ")));
92 sliderScaleX = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
93 sliderScaleX->SetLineSize(1);
94 Connect(sliderScaleX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
95 sizersliders->Add(sx, wxFIXED_MINSIZE);
96 sizersliders->Add(sliderScaleX,wxSizerFlags().Expand().Center());
98 wxStaticText* sy = new wxStaticText(this, -1, wxString(_T(" Scale Y ")));
99 sliderScaleY = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
100 sliderScaleY->SetLineSize(1);
101 Connect(sliderScaleY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
102 sizersliders->Add(sy, wxFIXED_MINSIZE);
103 sizersliders->Add(sliderScaleY,wxSizerFlags().Expand().Center());
105 wxStaticText* sz = new wxStaticText(this, -1, wxString(_T(" Scale Z ")));
106 sliderScaleZ = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, this->GetSize(), wxSL_LABELS);
107 sliderScaleZ->SetLineSize(1);
108 Connect(sliderScaleZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
109 sizersliders->Add(sz, wxFIXED_MINSIZE);
110 sizersliders->Add(sliderScaleZ,wxSizerFlags().Expand().Center());
112 //ATENTION!! A SUPRIMER LES LIGNES ON BAS SI ELES NE SONT PAS NECESSAIRES!!
115 //wxString choices[2];
116 //choices[0] = wxString(_T("On"));
117 //choices[1] = wxString(_T("Off"));
118 checkboxSA = new wxCheckBox(this,-1,wxString(_T("Surface Rendering A")));
119 Connect(checkboxSA->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxSAChange);
120 checkboxSA->SetValue(true);
122 sizercheck->Add(checkboxSA, wxFIXED_MINSIZE);
124 //wxString choices[2];
125 //choices[0] = wxString(_T("On"));
126 //choices[1] = wxString(_T("Off"));
127 checkboxSB = new wxCheckBox(this,-1,wxString(_T("Surface Rendering B")));
128 Connect(checkboxSB->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxSBChange);
129 checkboxSB->SetValue(true);
131 sizercheck->Add(checkboxSB, wxFIXED_MINSIZE);
133 //wxString choices[2];
134 //choices[0] = wxString(_T("On"));
135 //choices[1] = wxString(_T("Off"));
136 checkboxSC = new wxCheckBox(this,-1,wxString(_T("Surface Rendering C")));
137 Connect(checkboxSC->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxSCChange);
138 checkboxSC->SetValue(true);
140 sizercheck->Add(checkboxSC, wxFIXED_MINSIZE);
141 sizerrenderprop->Add(sizercheck, wxFIXED_MINSIZE);*/
143 this->SetSizer(sizersliders, true);
144 this->SetAutoLayout(true);
150 wxMaracasRenderImageManagementPanel::~wxMaracasRenderImageManagementPanel()
155 ** Transforms a volume by the given value for the X axis
157 void wxMaracasRenderImageManagementPanel::Transform(wxCommandEvent& event)
159 //printf("wxMaracasRenderImageManagementPanel::Translate translateX = %d \n", sliderTranslateX->GetValue());
160 //printf("wxMaracasRenderImageManagementPanel::Translate translatey = %d \n", sliderTranslateY->GetValue());
161 //printf("wxMaracasRenderImageManagementPanel::Translate translatez = %d \n", sliderTranslateZ->GetValue());
163 wxtrasform->Translate( sliderTranslateX->GetValue(), sliderTranslateY->GetValue(), sliderTranslateZ->GetValue(),
164 sliderRotateX->GetValue(), sliderRotateY->GetValue(), sliderRotateZ->GetValue(),
165 sliderScaleX->GetValue(), sliderScaleY->GetValue(), sliderScaleZ->GetValue() );
168 std::cout << "Exception : " << str << '\n';
169 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);