X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasMultipleVolumeRendererView.cxx;h=267745798abceb7b19bdc6ef20c2811de909693c;hb=05c4abbebf824bbbbaaab135acf6c888662dff69;hp=8a0f835e6cc506d494e84d3c257a01250bb2e4fe;hpb=28c74ab5eb531ce001260e9bc3fcb0151fcfc56b;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx index 8a0f835..2677457 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx @@ -1,10 +1,35 @@ +/*# --------------------------------------------------------------------- +# +# 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. +# ------------------------------------------------------------------------ */ + /*========================================================================= - Program: wxMaracas + Program: wxMaracas Module: $RCSfile: wxMaracasMultipleVolumeRendererView.cxx,v $ Language: C++ - Date: $Date: 2009/10/30 20:06:07 $ - Version: $Revision: 1.5 $ + Date: $Date: 2012/11/15 14:14:35 $ + Version: $Revision: 1.12 $ Copyright: (c) 2002, 2003 License: @@ -23,7 +48,7 @@ #include -#include +#include #include #include @@ -70,12 +95,31 @@ wxMaracasMultipleVolumeRendererView* wxMaracasMultipleVolumeRendererView::getIns return instance; } +void wxMaracasMultipleVolumeRendererView::changeCompositeMIPFunction(int id, int function){ + try{ + volmanager->changeCompositeMIPFunction(id, function); + } + catch(char* str){ + std::cout << "Exception : " << str << '\n'; + wxMessageDialog* diag = new wxMessageDialog(this, wxString( str,wxConvUTF8 ), wxString( str,wxConvUTF8 ), wxICON_ERROR); + diag->ShowModal(); + } +} + void wxMaracasMultipleVolumeRendererView::setRenderer(vtkRenderer* renderer){ volmanager->setRenderer(renderer); } void wxMaracasMultipleVolumeRendererView::addRemoveActor(int id, bool addremove){ - volmanager->addRemoveActor(id, addremove); + try{ + volmanager->addRemoveActor(id, addremove); + } + catch(char* str){ + std::cout << "Exception : " << str << '\n'; + wxMessageDialog* diag = new wxMessageDialog(this, wxString( str,wxConvUTF8 ), wxString( str,wxConvUTF8 ), wxICON_ERROR); + diag->ShowModal(); + } + } void wxMaracasMultipleVolumeRendererView::onLoadImageFile(){ @@ -107,7 +151,7 @@ void wxMaracasMultipleVolumeRendererView::addVolumeViewPanel(wxMaracasMultipleVo void wxMaracasMultipleVolumeRendererView::addVolume(vtkImageData* img, std::string dataname){ try{ - int id = volmanager->addVolume(img,dataname); + int id = volmanager->addVolume(-1, img,dataname); if(id!=-1){ wxMaracasMultipleVolumeRendererPanel* controlpan = new wxMaracasMultipleVolumeRendererPanel(this, id,img, false); addVolumeViewPanel(controlpan, dataname); @@ -134,22 +178,44 @@ void wxMaracasMultipleVolumeRendererView::loadVolume(wxString filename, wxString void wxMaracasMultipleVolumeRendererView::deleteVolume(int volid) { - volmanager->deleteActor(volid); + try{ + volmanager->deleteActor(volid); + } + + catch(char* str){ + std::cout << "Exception : " << str << '\n'; + wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); + diag->ShowModal(); + } } -void wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction(int volid, std::vector greylevelcolors,std::vector red,std::vector green,std::vector blue){ +void wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction(int volid, std::vector greylevelcolors,std::vector red,std::vector green,std::vector blue) +{ volmanager->setVolumeColor(volid, greylevelcolors, red, green, blue); } -void wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction(int volid, std::vector greylevel, std::vector values){ +void wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction(int volid, std::vector greylevel, std::vector values) +{ volmanager->setVolumeOpacity(volid, greylevel, values); } -vtkPiecewiseFunction* wxMaracasMultipleVolumeRendererView::GetTransferFunction(int volumeid){ +vtkPiecewiseFunction* wxMaracasMultipleVolumeRendererView::GetTransferFunction(int volumeid) +{ return volmanager->GetTransferFunction(volumeid); } -vtkColorTransferFunction* wxMaracasMultipleVolumeRendererView::GetColorFunction(int volumeid){ +vtkColorTransferFunction* wxMaracasMultipleVolumeRendererView::GetColorFunction(int volumeid) +{ return volmanager->GetColorFunction(volumeid); } + +std::vector wxMaracasMultipleVolumeRendererView::GetOutputImages(){ + return imgVect; +} + +wxMaracasMultipleVolumeRendererManager* wxMaracasMultipleVolumeRendererView::getVolumeRenderManager() +{ + return volmanager; +} + /** ** **/