X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasRenderImageManagementPanel.cpp;h=0cf89499eba5494a3be1f252ee3774891a45fcc2;hb=b90d2dce776b27c95bd59251ee83d10a42b0cae5;hp=85f4066b94c5cc690006549890901e2427cf9c98;hpb=9d26ebb4f85437ab11c7b762dddb318d21217de0;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp index 85f4066..0cf8949 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp @@ -1,13 +1,39 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #include "wxMaracasRenderImageManagementPanel.h" + #include /** ** Class constructor **/ -wxMaracasRenderImageManagementPanel::wxMaracasRenderImageManagementPanel(wxWindow* parent, wxMaracasMultipleVolumeRendererManager* _vol, wxMaracasSurfaceRenderingManager* _surface1, - wxMaracasSurfaceRenderingManager* _surface2, wxMaracasSurfaceRenderingManager* _surface3, int id) -: wxDialog(parent, -1, _T("Image Position Parameters"), wxDefaultPosition, wxDefaultSize, wxRESIZE_BORDER|wxDEFAULT_DIALOG_STYLE) +wxMaracasRenderImageManagementPanel::wxMaracasRenderImageManagementPanel(wxWindow* parent, VolumeRendererManager* _vol, wxMaracasSurfaceRenderingManager* _surface1, + wxMaracasSurfaceRenderingManager* _surface2, wxMaracasSurfaceRenderingManager* _surface3, wxString title, int id) +: wxDialog(parent, -1, title, wxDefaultPosition, wxDefaultSize, wxRESIZE_BORDER|wxDEFAULT_DIALOG_STYLE) { wxtrasform = new wxMaracasRenderImageTransformation(_vol, _surface1, _surface2, _surface3, id); createControls(); @@ -23,63 +49,63 @@ void wxMaracasRenderImageManagementPanel::createControls() wxStaticText* tx = new wxStaticText(this, -1, wxString(_T(" Translate X "))); sliderTranslateX = new wxSlider(this, -1, 0, -200, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderTranslateX->SetLineSize(1); - Connect(sliderTranslateX->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderTranslateX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(tx, wxFIXED_MINSIZE); - sizersliders->Add(sliderTranslateX,wxSizerFlags().Expand().Center()); + sizersliders->Add(sliderTranslateX, 1, wxALL|wxEXPAND, 2); wxStaticText* ty = new wxStaticText(this, -1, wxString(_T(" Translate Y "))); sliderTranslateY = new wxSlider(this, -1, 0, -200, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderTranslateY->SetLineSize(1); - Connect(sliderTranslateY->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderTranslateY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(ty, wxFIXED_MINSIZE); - sizersliders->Add(sliderTranslateY,wxSizerFlags().Expand().Center()); + sizersliders->Add(sliderTranslateY, 1, wxALL|wxEXPAND, 2); wxStaticText* tz = new wxStaticText(this, -1, wxString(_T(" Translate Z "))); sliderTranslateZ = new wxSlider(this, -1, 0, -200, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderTranslateZ->SetLineSize(1); - Connect(sliderTranslateZ->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderTranslateZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(tz, wxFIXED_MINSIZE); sizersliders->Add(sliderTranslateZ,wxSizerFlags().Expand().Center()); wxStaticText* rx = new wxStaticText(this, -1, wxString(_T(" Rotate X "))); sliderRotateX = new wxSlider(this, -1, 0, -360, 360, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderRotateX->SetLineSize(1); - Connect(sliderRotateX->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderRotateX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(rx, wxFIXED_MINSIZE); sizersliders->Add(sliderRotateX,wxSizerFlags().Expand().Center()); wxStaticText* ry = new wxStaticText(this, -1, wxString(_T(" Rotate Y "))); sliderRotateY = new wxSlider(this, -1, 0, -360, 360, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderRotateY->SetLineSize(1); - Connect(sliderRotateY->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderRotateY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(ry, wxFIXED_MINSIZE); sizersliders->Add(sliderRotateY,wxSizerFlags().Expand().Center()); wxStaticText* rz = new wxStaticText(this, -1, wxString(_T(" Rotate Z "))); sliderRotateZ = new wxSlider(this, -1, 0, -360, 360, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderRotateZ->SetLineSize(1); - Connect(sliderRotateZ->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderRotateZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(rz, wxFIXED_MINSIZE); sizersliders->Add(sliderRotateZ,wxSizerFlags().Expand().Center()); wxStaticText* sx = new wxStaticText(this, -1, wxString(_T(" Scale X "))); sliderScaleX = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderScaleX->SetLineSize(1); - Connect(sliderScaleX->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderScaleX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(sx, wxFIXED_MINSIZE); sizersliders->Add(sliderScaleX,wxSizerFlags().Expand().Center()); wxStaticText* sy = new wxStaticText(this, -1, wxString(_T(" Scale Y "))); sliderScaleY = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderScaleY->SetLineSize(1); - Connect(sliderScaleY->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderScaleY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(sy, wxFIXED_MINSIZE); sizersliders->Add(sliderScaleY,wxSizerFlags().Expand().Center()); wxStaticText* sz = new wxStaticText(this, -1, wxString(_T(" Scale Z "))); sliderScaleZ = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, this->GetSize(), wxSL_LABELS); sliderScaleZ->SetLineSize(1); - Connect(sliderScaleZ->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); + Connect(sliderScaleZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(sz, wxFIXED_MINSIZE); sizersliders->Add(sliderScaleZ,wxSizerFlags().Expand().Center()); @@ -134,9 +160,9 @@ void wxMaracasRenderImageManagementPanel::Transform(wxCommandEvent& event) //printf("wxMaracasRenderImageManagementPanel::Translate translatey = %d \n", sliderTranslateY->GetValue()); //printf("wxMaracasRenderImageManagementPanel::Translate translatez = %d \n", sliderTranslateZ->GetValue()); try{ - wxtrasform->Translate( sliderTranslateX->GetValue(), sliderTranslateY->GetValue(), sliderTranslateZ->GetValue() ); - wxtrasform->Rotate( sliderRotateX->GetValue(), sliderRotateY->GetValue(), sliderRotateZ->GetValue() ); - wxtrasform->Scale( sliderScaleX->GetValue(), sliderScaleY->GetValue(), sliderScaleZ->GetValue()); + wxtrasform->Translate( sliderTranslateX->GetValue(), sliderTranslateY->GetValue(), sliderTranslateZ->GetValue(), + sliderRotateX->GetValue(), sliderRotateY->GetValue(), sliderRotateZ->GetValue(), + sliderScaleX->GetValue(), sliderScaleY->GetValue(), sliderScaleZ->GetValue() ); } catch(char* str){ std::cout << "Exception : " << str << '\n'; @@ -144,42 +170,3 @@ void wxMaracasRenderImageManagementPanel::Transform(wxCommandEvent& event) diag->ShowModal(); } } - -/** -** Rotates a volume by the given degree for the X axis -* -void wxMaracasRenderImageManagementPanel::Rotate(wxCommandEvent& event) -{ - //printf("wxMaracasRenderImageManagementPanel::Rotate rotateX = %d \n", sliderRotateX->GetValue()); - //printf("wxMaracasRenderImageManagementPanel::Rotate rotateY = %d \n", sliderRotateY->GetValue()); - //printf("wxMaracasRenderImageManagementPanel::Rotate rotateZ = %d \n", sliderRotateZ->GetValue()); - - try{ - wxtrasform->Rotate( sliderRotateX->GetValue(), sliderRotateY->GetValue(), sliderRotateZ->GetValue() ); - } - catch(char* str){ - std::cout << "Exception : " << str << '\n'; - wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); - diag->ShowModal(); - } -}*/ - -/** -** Scales a volume by the given value for the X axis -* -void wxMaracasRenderImageManagementPanel::Scale(wxCommandEvent& event) -{ - //printf("wxMaracasRenderImageManagementPanel::Rotate rotateX = %d \n", sliderScaleX->GetValue()); - //printf("wxMaracasRenderImageManagementPanel::Rotate rotateY = %d \n", sliderRotateY->GetValue()); - //printf("wxMaracasRenderImageManagementPanel::Rotate rotateZ = %d \n", sliderRotateZ->GetValue()); - - try{ - wxtrasform->Scale( sliderScaleX->GetValue(), sliderScaleY->GetValue(), sliderScaleZ->GetValue()); - } - catch(char* str){ - std::cout << "Exception : " << str << '\n'; - wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); - diag->ShowModal(); - } -}*/ -