X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtkClipping3DViewVolCntrlPanel.cxx;h=ed16d6e0860c0317911f467f4f7e405dc079f012;hb=b90d2dce776b27c95bd59251ee83d10a42b0cae5;hp=f140661cb7aab57dbeacf71e42204165b583d6a9;hpb=e9163fc688996aa392f7211cf6e49d3962149246;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewVolCntrlPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewVolCntrlPanel.cxx index f140661..ed16d6e 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewVolCntrlPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewVolCntrlPanel.cxx @@ -1,3 +1,28 @@ +/*# --------------------------------------------------------------------- +# +# 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 //------------------------------------------------------------------- @@ -18,8 +43,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(); @@ -30,6 +55,7 @@ wxVtkClipping3DViewVolCntrlPanel::wxVtkClipping3DViewVolCntrlPanel(wxWindow *par ckShade = new wxCheckBox(panel, -1, _T("Shade")); rbRayCasting->Disable(); + rbMIP->Disable(); ckInterpolation->Disable(); ckShade->Disable(); @@ -81,6 +107,11 @@ wxVtkClipping3DViewVolCntrlPanel::wxVtkClipping3DViewVolCntrlPanel(wxWindow *par panel->SetEventHandler((wxEvtHandler*)this); + rbRayCasting->SetValue(true); + +// _volumerendererdata = VolumeRendererData::New(); +// _volumerendererdata->SetImageData(_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetVtkMPRBaseData()->GetImageData()); + } //------------------------------------------------------------------- wxVtkClipping3DViewVolCntrlPanel::~wxVtkClipping3DViewVolCntrlPanel() @@ -94,24 +125,44 @@ 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 _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); } @@ -119,8 +170,32 @@ void wxVtkClipping3DViewVolCntrlPanel::OnVisibleVolume(wxCommandEvent& event) //------------------------------------------------------------------- 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 + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); + } //EED 22 Fevrier 2007 @@ -241,6 +316,15 @@ 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 _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); @@ -282,10 +366,12 @@ void wxVtkClipping3DViewVolCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& even // Refreshing and sending the event //--------------------------------- //_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->ReadVolumeFunctions(); - _wxvtkclipping3Dview->Refresh(); + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); + _wxvtkclipping3Dview->Refresh(); + /* volumeMapper->Update(); newvol->Update(); @@ -294,6 +380,7 @@ void wxVtkClipping3DViewVolCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& even } //destroy the dialog + hDlg->Destroy(); } @@ -301,6 +388,10 @@ void wxVtkClipping3DViewVolCntrlPanel::OnRayCastingActive(wxCommandEvent& eve //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 + + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); _wxvtkclipping3Dview->Refresh(); } @@ -309,6 +400,9 @@ void wxVtkClipping3DViewVolCntrlPanel::OnMIPActive(wxCommandEvent& event){ _wxvtkclipping3Dview->SetMIPActive(true); _wxvtkclipping3Dview->SetRayCasting(false); + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); + _wxvtkclipping3Dview->Refresh(); } @@ -316,11 +410,17 @@ void wxVtkClipping3DViewVolCntrlPanel::OnMIPActive(wxCommandEvent& event){ void wxVtkClipping3DViewVolCntrlPanel::OnInterpolationActive(wxCommandEvent& event){ _wxvtkclipping3Dview->SetInterpolation(event.IsChecked()); + + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); _wxvtkclipping3Dview->Refresh(); } void wxVtkClipping3DViewVolCntrlPanel::OnShadeActive(wxCommandEvent& event){ _wxvtkclipping3Dview->SetShade(event.IsChecked()); + + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh + _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); _wxvtkclipping3Dview->Refresh(); }