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=4dcdcabb81ce9f9e9b7ccdb86a64995d7b18ea23;hp=83b10631eabf28a4bcec00a8378d6d4b495bc686;hpb=52134c6f15827d0ae9ea8cf0ffaa15867ab87dcc;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx index 83b1063..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/15 11:56:43 $ - Version: $Revision: 1.3 $ + 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 @@ -52,7 +77,6 @@ wxMaracasMultipleVolumeRendererView::wxMaracasMultipleVolumeRendererView( wxWind wxMaracasMultipleVolumeRendererView::~wxMaracasMultipleVolumeRendererView( ){ delete _toolb; - } std::string wxMaracasMultipleVolumeRendererView::getPath(){ @@ -60,7 +84,8 @@ std::string wxMaracasMultipleVolumeRendererView::getPath(){ } wxMaracasMultipleVolumeRendererView* wxMaracasMultipleVolumeRendererView::getInstance(wxWindow* parent,std::string path){ - if(instance==NULL){ + if(instance==NULL) +{ instance = new wxMaracasMultipleVolumeRendererView(parent,path); } return instance; @@ -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,9 +151,9 @@ 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); + wxMaracasMultipleVolumeRendererPanel* controlpan = new wxMaracasMultipleVolumeRendererPanel(this, id,img, false); addVolumeViewPanel(controlpan, dataname); controlpan->updateVolume(); } @@ -132,23 +176,46 @@ void wxMaracasMultipleVolumeRendererView::loadVolume(wxString filename, wxString } } -void wxMaracasMultipleVolumeRendererView::deleteVolume(int volid){ - //volmanager->deleteActor(volid); +void wxMaracasMultipleVolumeRendererView::deleteVolume(int 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){ - //volmanager->setVolumeColor(volid, greylevelcolors, red, green, 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){ - //volmanager->setVolumeOpacity(volid, greylevel, 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; +} + /** ** **/