X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasMultipleVolumeRendererManager.cxx;h=8ab810eb2d87f954bc1791461ca9cc86f4926380;hb=4dcdcabb81ce9f9e9b7ccdb86a64995d7b18ea23;hp=3b279a75b6c41453c6cbe4159fc76678eec96eb6;hpb=e7d3c47803d3341d27c134738499e92a1fef426c;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx index 3b279a7..8ab810e 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.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 Module: $RCSfile: wxMaracasMultipleVolumeRendererManager.cxx,v $ Language: C++ - Date: $Date: 2009/11/20 17:09:05 $ - Version: $Revision: 1.9 $ + Date: $Date: 2012/11/15 14:14:35 $ + Version: $Revision: 1.10 $ Copyright: (c) 2002, 2003 License: @@ -16,6 +41,7 @@ =========================================================================*/ #include "wxMaracasMultipleVolumeRendererManager.h" +#include "vtkRenderWindow.h" #include #include /** @@ -48,7 +74,7 @@ vtkRenderer* wxMaracasMultipleVolumeRendererManager::getRenderer(){ void wxMaracasMultipleVolumeRendererManager::Update(int ppid){ wxMaracasMultipleVolumeRendererManagerData* data = this->getViewData(ppid); data->Update(); - _renderer->Render(); + _renderer->GetRenderWindow()->Render(); } /** @@ -81,7 +107,8 @@ int wxMaracasMultipleVolumeRendererManager::addVolume(int idTP, vtkImageData* vo ** adds or removes an actor depending of the bool value **/ -void wxMaracasMultipleVolumeRendererManager::addRemoveActor(int propid, bool addremove) throw(char*){ +void wxMaracasMultipleVolumeRendererManager::addRemoveActor(int propid, bool addremove) throw(char*) +{ checkInvariant(); wxMaracasMultipleVolumeRendererManagerData* data = this->getViewData(propid); @@ -91,19 +118,22 @@ void wxMaracasMultipleVolumeRendererManager::addRemoveActor(int propid, bool add }else{ _renderer->RemoveViewProp(data->getProp3D()); } - _renderer->Render(); + _renderer->GetRenderWindow()->Render(); } } + + /** ** Changes the opacity in a prop3D **/ -void wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(int propid, std::vector greylevel,std::vector value) throw(char*){ +void wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(int propid, std::vector greylevel,std::vector value) throw(char*) +{ checkInvariant(); this->getViewData(propid)->setVolumeOpacity(greylevel, value); - _renderer->Render(); + _renderer->GetRenderWindow()->Render(); } @@ -113,15 +143,18 @@ void wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(int propid, std::v void wxMaracasMultipleVolumeRendererManager::setVolumeColor(int volid, std::vector greylevel, std::vector red, std::vector green, - std::vector blue)throw(char*){ + std::vector blue)throw(char*) +{ checkInvariant(); this->getViewData(volid)->setVolumeColor(greylevel, red, green, blue); - _renderer->Render(); + _renderer->GetRenderWindow()->Render(); } -vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(std::string filename){ + +vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(std::string filename) +{ if(filename.compare("")!= 0){ vtkMetaImageReader* reader = vtkMetaImageReader::New(); @@ -141,17 +174,23 @@ vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(std::string f return NULL; } -vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(){ + +vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData() +{ return image; } -void wxMaracasMultipleVolumeRendererManager::checkInvariant() throw(char*){ + +void wxMaracasMultipleVolumeRendererManager::checkInvariant() throw(char*) +{ if(this->_renderer==NULL){ throw "Renderer not set"; } } -wxMaracasMultipleVolumeRendererManagerData* wxMaracasMultipleVolumeRendererManager::getViewData(int id) throw(char*){ + +wxMaracasMultipleVolumeRendererManagerData* wxMaracasMultipleVolumeRendererManager::getViewData(int id) throw(char*) +{ int i; for(i = 0; i < (int)(prop3Dvect.size());i++){ if(prop3Dvect[i]->getId() == id){ @@ -163,7 +202,9 @@ wxMaracasMultipleVolumeRendererManagerData* wxMaracasMultipleVolumeRendererManag return NULL; } -void wxMaracasMultipleVolumeRendererManager::deleteActor(int propid) throw (char *){ + +void wxMaracasMultipleVolumeRendererManager::deleteActor(int propid) throw (char *) +{ checkInvariant(); this->addRemoveActor(propid, false); @@ -190,14 +231,22 @@ void wxMaracasMultipleVolumeRendererManager::deleteActor(int propid) throw (char } -vtkPiecewiseFunction* wxMaracasMultipleVolumeRendererManager::GetTransferFunction(int volumeid){ + +vtkPiecewiseFunction* wxMaracasMultipleVolumeRendererManager::GetTransferFunction(int volumeid) +{ return getViewData(volumeid)->GetTransferFunction(); } -vtkColorTransferFunction* wxMaracasMultipleVolumeRendererManager::GetColorFunction(int volumeid){ + + +vtkColorTransferFunction* wxMaracasMultipleVolumeRendererManager::GetColorFunction(int volumeid) +{ return getViewData(volumeid)->GetColorFunction(); } -void wxMaracasMultipleVolumeRendererManager::changeCompositeMIPFunction(int id, int function) throw (char *){ + +void wxMaracasMultipleVolumeRendererManager::changeCompositeMIPFunction(int id, int function) throw (char *) +{ getViewData(id)->changeCompositeMIPFunction(function); -} \ No newline at end of file + Update(id); +}