X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtkClipping3DViewVolCntrlPanel.cxx;h=e6636ba8dad834513e2d4bf68e5adba4b5882b92;hb=659bcd2c2a608cfb8c5854ffe84e9248871df9a1;hp=feafc6e30131d95d4419a6d398d3103fd69d0bb6;hpb=ed43f37723fd50cd4b0db043399050a20f9edd3b;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewVolCntrlPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewVolCntrlPanel.cxx index feafc6e..e6636ba 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewVolCntrlPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewVolCntrlPanel.cxx @@ -1,7 +1,38 @@ +/*# --------------------------------------------------------------------- +# +# 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. +# ------------------------------------------------------------------------ */ + //------------------------------------------------------------------- //RaC 03-2010 Divides in two panels thje last tab Surface/Volume //------------------------------------------------------------------- +#include +#include +#include +#include +#include // for std::cout + #include "wxVtkClipping3DViewVolCntrlPanel.h" #include "wx/colordlg.h" #include "vtkTriangleFilter.h" @@ -18,8 +49,8 @@ wxVtkClipping3DViewVolCntrlPanel::wxVtkClipping3DViewVolCntrlPanel(wxWindow *par _wxvtkclipping3Dview = wxvtkclipping3Dview; - wxCheckBox *ckVolum = new wxCheckBox(panel,-1,_T("Volume")); - wxCheckBox *ckBoxVolume = new wxCheckBox(panel,-1,_T("Volume Box")); + ckVolum = new wxCheckBox(panel,-1,_T("Volume")); + ckBoxVolume = new wxCheckBox(panel,-1,_T("Volume Box")); ckBoxVolume->Disable(); @@ -70,7 +101,6 @@ wxVtkClipping3DViewVolCntrlPanel::wxVtkClipping3DViewVolCntrlPanel(wxWindow *par sizerH2->Add(ckInterpolation, 1, wxALL|wxEXPAND, 0 ); sizerH2->Add(ckShade, 1, wxALL|wxEXPAND, 0 ); - sizer->Add( sizerH0 , 1, wxALL|wxEXPAND, 2); sizer->Add( sizerH1 , 1, wxALL|wxEXPAND, 2); sizer->Add( sizerH2 , 1, wxALL|wxEXPAND, 2); @@ -84,6 +114,9 @@ wxVtkClipping3DViewVolCntrlPanel::wxVtkClipping3DViewVolCntrlPanel(wxWindow *par rbRayCasting->SetValue(true); +// _volumerendererdata = VolumeRendererData::New(); +// _volumerendererdata->SetImageData(_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetVtkMPRBaseData()->GetImageData()); + } //------------------------------------------------------------------- wxVtkClipping3DViewVolCntrlPanel::~wxVtkClipping3DViewVolCntrlPanel() @@ -97,33 +130,87 @@ void wxVtkClipping3DViewVolCntrlPanel::Refresh() //------------------------------------------------------------------- void wxVtkClipping3DViewVolCntrlPanel::OnVisibleVolume(wxCommandEvent& event) { - cout<<"JPRG::wxVtkClipping3DViewVolCntrlPanel::OnVisibleVolume::event_value::"<VisibleVolumeActor( event.IsChecked() ); - if(event.IsChecked()) - { - rbRayCasting->Enable(); - rbMIP->Enable(); - ckInterpolation->Enable(); - ckShade->Enable(); - } - else - { - rbRayCasting->Disable(); - rbMIP->Disable(); - ckInterpolation->Disable(); - ckShade->Disable(); - } + + + + if(event.IsChecked()) + { + ckBoxVolume->Enable(); + } + else{ + ckBoxVolume->Disable(); + } + + // _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetRenderer()->RemoveAllViewProps(); + + + + _wxvtkclipping3Dview->VisibleVolumeActor( event.IsChecked() ); + if(event.IsChecked()) + { + rbRayCasting->Enable(); + rbMIP->Enable(); + ckInterpolation->Enable(); + ckShade->Enable(); + } + else + { + rbRayCasting->Disable(); + rbMIP->Disable(); + ckInterpolation->Disable(); + ckShade->Disable(); + if(ckBoxVolume->IsChecked()) + { + ckBoxVolume->SetValue(false); + } + } + _wxvtkclipping3Dview->Refresh(); + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif } //------------------------------------------------------------------- void wxVtkClipping3DViewVolCntrlPanel::OnVisibleBoxVolume(wxCommandEvent& event) { - _wxvtkclipping3Dview->SetVisibleBoxVolume(event.IsChecked() ); - _wxvtkclipping3Dview->Refresh(); + + //cout<<"JPRG::wxVtkClipping3DViewVolCntrlPanel::OnVisibleVolume::event_value::"<Disable(); + // rbMIP->Disable(); + ckInterpolation->Disable(); + ckShade->Disable(); + } + else + { + //rbRayCasting->Enable(); + //rbMIP->Enable(); + ckInterpolation->Enable(); + ckShade->Enable(); + + } + + _wxvtkclipping3Dview->VisibleVolumeBoxActor(event.IsChecked()); + + _wxvtkclipping3Dview->Refresh(); + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif + } //EED 22 Fevrier 2007 @@ -244,10 +331,23 @@ void wxVtkClipping3DViewVolCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& even // Refreshing and sending the event //--------------------------------- //_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->ReadVolumeFunctions(); + + //test + + + // _volumerendererdata->OpacityChanged(*gtf, *itf); + _wxvtkclipping3Dview->UpdateVolumeBox(*gtf, *itf, ctfun); + +//test end + _wxvtkclipping3Dview->Refresh(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); - +#else + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif /* volumeMapper->Update(); newvol->Update(); @@ -285,9 +385,15 @@ void wxVtkClipping3DViewVolCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& even // Refreshing and sending the event //--------------------------------- //_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->ReadVolumeFunctions(); - _wxvtkclipping3Dview->Refresh(); + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif + _wxvtkclipping3Dview->Refresh(); /* volumeMapper->Update(); @@ -297,33 +403,64 @@ void wxVtkClipping3DViewVolCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& even } //destroy the dialog + hDlg->Destroy(); } -void wxVtkClipping3DViewVolCntrlPanel::OnRayCastingActive(wxCommandEvent& event){ +void wxVtkClipping3DViewVolCntrlPanel::OnRayCastingActive(wxCommandEvent& event) +{ //If Ray Casting is active, others options are disabled. Only RayCasting is true _wxvtkclipping3Dview->SetRayCasting(true); _wxvtkclipping3Dview->SetMIPActive(false); + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif _wxvtkclipping3Dview->Refresh(); } -void wxVtkClipping3DViewVolCntrlPanel::OnMIPActive(wxCommandEvent& event){ +void wxVtkClipping3DViewVolCntrlPanel::OnMIPActive(wxCommandEvent& event) +{ //If MIP is active, others options are disabled. Only MIP is true _wxvtkclipping3Dview->SetMIPActive(true); _wxvtkclipping3Dview->SetRayCasting(false); - + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif _wxvtkclipping3Dview->Refresh(); } - -void wxVtkClipping3DViewVolCntrlPanel::OnInterpolationActive(wxCommandEvent& event){ +void wxVtkClipping3DViewVolCntrlPanel::OnInterpolationActive(wxCommandEvent& event) +{ _wxvtkclipping3Dview->SetInterpolation(event.IsChecked()); + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif _wxvtkclipping3Dview->Refresh(); } -void wxVtkClipping3DViewVolCntrlPanel::OnShadeActive(wxCommandEvent& event){ +void wxVtkClipping3DViewVolCntrlPanel::OnShadeActive(wxCommandEvent& event) +{ _wxvtkclipping3Dview->SetShade(event.IsChecked()); + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +#else + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessWindowEvent(newevent1); +#endif _wxvtkclipping3Dview->Refresh(); }