X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasRenderImageManagementPanel.cpp;h=4473513c2d9cf7e5d29d75f4b0fc8a7ed59f5dba;hb=ab19f727dc01a9995b16b2a3c82783050728233e;hp=a69e44f86d21eec94b5ba33f94c7687843bc3d3f;hpb=fde5fea23394507e29ff91d85748f6f77e994d5d;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp index a69e44f..4473513 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp @@ -1,13 +1,14 @@ #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) + 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 +24,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::Translate); + 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::Translate); + 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::Translate); + 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::Rotate); + 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::Rotate); + 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::Rotate); + 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, 0, -100, 100, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); + sliderScaleX = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderScaleX->SetLineSize(1); - Connect(sliderScaleX->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Scale); + 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, 0, -100, 100, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); + sliderScaleY = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); sliderScaleY->SetLineSize(1); - Connect(sliderScaleY->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Scale); + 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, 0, -100, 100, wxDefaultPosition, this->GetSize(), wxSL_LABELS); + sliderScaleZ = new wxSlider(this, -1, 100, 1, 200, wxDefaultPosition, this->GetSize(), wxSL_LABELS); sliderScaleZ->SetLineSize(1); - Connect(sliderScaleZ->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Scale); + Connect(sliderScaleZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform); sizersliders->Add(sz, wxFIXED_MINSIZE); sizersliders->Add(sliderScaleZ,wxSizerFlags().Expand().Center()); @@ -128,56 +129,19 @@ wxMaracasRenderImageManagementPanel::~wxMaracasRenderImageManagementPanel() /** ** Transforms a volume by the given value for the X axis **/ -void wxMaracasRenderImageManagementPanel::Translate(wxCommandEvent& event) +void wxMaracasRenderImageManagementPanel::Transform(wxCommandEvent& event) { - printf("wxMaracasRenderImageManagementPanel::Translate translateX = %d \n", sliderTranslateX->GetValue()); - printf("wxMaracasRenderImageManagementPanel::Translate translatey = %d \n", sliderTranslateY->GetValue()); - printf("wxMaracasRenderImageManagementPanel::Translate translatez = %d \n", sliderTranslateZ->GetValue()); + //printf("wxMaracasRenderImageManagementPanel::Translate translateX = %d \n", sliderTranslateX->GetValue()); + //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->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'; wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); 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(); - } -} - +} \ No newline at end of file