X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtkMPR3DViewCntrlPanel.cxx;h=33294b4fd304add2ba24d1f761b99aba9e6d0e2c;hb=04daf8279bb4bd4219f2903e7352e36db8d88866;hp=47367ce30a939e03e524d35209012d508944409b;hpb=cf42d2bd2f87434922bf9f6f3f520b3f8ad2ba64;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx index 47367ce..33294b4 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx @@ -83,9 +83,10 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV _ckBoxXYZ->SetValue(false); ////EED 05Nov2012 _ckBox_BW_Color_Plane->SetValue(true); _ckBoxPlane->SetValue(false); - _ckBoxOutline= new wxCheckBox(panel,-1,_T("Outline")); _ckBoxOutline->SetValue(true); + _ckBoxInterpolate= new wxCheckBox(panel,-1,_T("Interpolate")); + _ckBoxInterpolate->SetValue(true); _ckBoxBackGroundBlack= new wxCheckBox(panel,-1,_T("Background Black"));; @@ -130,7 +131,8 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction ); Connect(_cbStereo->GetId() , wxEVT_COMMAND_COMBOBOX_SELECTED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnSetStereo ); Connect(_ckBoxOutline->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnOutline ); - Connect(_ckBoxBackGroundBlack->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnBackGroundBlack ); + Connect(_ckBoxBackGroundBlack->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnBackGroundBlack ); + Connect(_ckBoxInterpolate->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnInterpolate ); wxFlexGridSizer *sizer; @@ -139,15 +141,16 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV // wxBoxSizer *sizerH4 = new wxBoxSizer(wxHORIZONTAL); //CPR: If-else statements added 30 Nov 2009 + wxFlexGridSizer *sizerV1; wxFlexGridSizer *sizerH4; wxFlexGridSizer *sizerH5; wxFlexGridSizer *sizerH6; if(align) { - sizer = new wxFlexGridSizer(4); + sizer = new wxFlexGridSizer(4); sizerH4 = new wxFlexGridSizer(3); - + sizerH4->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); sizerH4->Add( new wxStaticText(panel, -1,_T("GL")) , 1, wxALL|wxEXPAND, 0); sizerH4->Add( new wxStaticText(panel, -1,_T("Color ")) , 1, wxALL|wxEXPAND, 0); @@ -163,13 +166,13 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV sizerH4->Add( _positionZ ,1,wxGROW, 0 ); sizerH4->Add( _ckFreePlaneZ, 1, wxALL|wxEXPAND, 0); sizerH4->Add( _ckBoxZ ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); - - - - - + +//EED 2016/02/19 + sizerH4->Add( _ckBoxInterpolate , 1, wxALL|wxEXPAND, 0); + sizerH4->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH4->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH5 = new wxFlexGridSizer(1); - sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0); sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0); sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); @@ -185,12 +188,10 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV sizerH6->Add( _ckBoxOutline , 1, wxALL|wxEXPAND, 0); sizerH6->Add( _ckBoxBackGroundBlack , 1, wxALL|wxEXPAND, 0); - sizer->Add( sizerH4, 1, wxALL|wxGROW, 2); sizer->Add( sizerH5, 1, wxALL|wxEXPAND,2); sizer->Add( sizerH6, 1, wxALL|wxEXPAND,2); - - + } else { sizer = new wxFlexGridSizer(1); @@ -262,7 +263,9 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV // sizerH5->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0); - panel->SetSize(400,50); + panel->ClearBackground(); +// panel->SetSize(400,50); + sizer->FitInside(panel); panel->SetAutoLayout(true); panel->SetSizer(sizer); panel->Layout(); @@ -274,7 +277,7 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV } //------------------------------------------------------------------- -void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() +void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel(bool firsttime) { vtkMPRBaseData* basedata = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData(); if(basedata != NULL){ @@ -282,15 +285,19 @@ void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() vtkImageData* img = basedata->GetImageData(); int x0,x1,y0,y1,z0,z1; - if(img){ + if(img) + { img->GetExtent(x0,x1,y0,y1,z0,z1); _positionX->SetRange(x0,x1); _positionY->SetRange(y0,y1); _positionZ->SetRange(z0,z1); - _positionX->SetValue((x0+x1)/2); - _positionY->SetValue((y0+y1)/2); - _positionZ->SetValue((z0+z1)/2); + if (firsttime==true) + { + _positionX->SetValue((x0+x1)/2); + _positionY->SetValue((y0+y1)/2); + _positionZ->SetValue((z0+z1)/2); + } // if firsttime //EED 12April2012 This make a floting window in MacOs and Linux with for windows // _positionX->Update(); @@ -522,7 +529,12 @@ void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event) wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh try{ +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif }catch(char* e){ std::cout<Refresh(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); - +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } //------------------------------------------------------------------- void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ(wxCommandEvent& event) { _wxvtkmpr3Dview->VisibleImageActor(2, event.IsChecked() ); _wxvtkmpr3Dview->Refresh(); - wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } //------------------------------------------------------------------- @@ -558,7 +578,6 @@ void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event) void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event) { _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked()); - } //------------------------------------------------------------------- @@ -568,7 +587,12 @@ void wxVtkMPR3DViewCntrlPanel::OnPositionX(wxScrollEvent& event) _wxvtkmpr3Dview->RefreshView(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } //------------------------------------------------------------------- void wxVtkMPR3DViewCntrlPanel::OnPositionY(wxScrollEvent& event) @@ -576,7 +600,12 @@ void wxVtkMPR3DViewCntrlPanel::OnPositionY(wxScrollEvent& event) _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetY( _positionY->GetValue() ); _wxvtkmpr3Dview->RefreshView(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } //------------------------------------------------------------------- void wxVtkMPR3DViewCntrlPanel::OnPositionZ(wxScrollEvent& event) @@ -584,7 +613,12 @@ void wxVtkMPR3DViewCntrlPanel::OnPositionZ(wxScrollEvent& event) _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetZ( _positionZ->GetValue() ); _wxvtkmpr3Dview->RefreshView(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } @@ -635,7 +669,12 @@ void wxVtkMPR3DViewCntrlPanel::SetVisibleX(bool value) _wxvtkmpr3Dview->Refresh(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } //------------------------------------------------------------------- @@ -647,7 +686,12 @@ void wxVtkMPR3DViewCntrlPanel::SetVisibleY(bool value) _wxvtkmpr3Dview->Refresh(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } //------------------------------------------------------------------- @@ -659,7 +703,12 @@ void wxVtkMPR3DViewCntrlPanel::SetVisibleZ(bool value) _wxvtkmpr3Dview->Refresh(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } //------------------------------------------------------------------- @@ -697,4 +746,22 @@ void wxVtkMPR3DViewCntrlPanel::OnBackGroundBlack(wxCommandEvent& event) } } +//------------------------------------------------------------------- +void wxVtkMPR3DViewCntrlPanel::OnInterpolate(wxCommandEvent& event) +{ + _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetInterpolate( _ckBoxInterpolate->GetValue() ); + + _wxvtkmpr3Dview->Refresh(); + + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif + + +} +