]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp
#3086 creaMaracasVisu Bug New Normal - Init opacity in ColorLayer box
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasRenderImageManagementPanel.cpp
index 85f4066b94c5cc690006549890901e2427cf9c98..0cf89499eba5494a3be1f252ee3774891a45fcc2 100644 (file)
@@ -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 <vtkVolume.h>
 
 /**
 ** 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();
-       }
-}*/
-