X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FGUI%2FBase%2FVolumeRenderer%2Fvolumerendererdata.cxx;h=52e7c866cd7c2fc47b79919ef6ec187d1bb3f831;hb=f828884b0ce84ed5d324a6b7533c7758e53eae91;hp=d0ab60fa5099ac7c16af6278ad20f9d96d439e1d;hpb=1b2153bfefaca680e9680b02a039fb06df0a6fba;p=creaMaracasVisu.git diff --git a/lib/GUI/Base/VolumeRenderer/volumerendererdata.cxx b/lib/GUI/Base/VolumeRenderer/volumerendererdata.cxx index d0ab60f..52e7c86 100644 --- a/lib/GUI/Base/VolumeRenderer/volumerendererdata.cxx +++ b/lib/GUI/Base/VolumeRenderer/volumerendererdata.cxx @@ -1,32 +1,57 @@ +/*# --------------------------------------------------------------------- +# +# 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. +# ------------------------------------------------------------------------ */ + #include "volumerendererdata.h" #include "vtkObjectFactory.h" -vtkCxxRevisionMacro(VolumeRendererData, "$Revision: 1.8 $"); +vtkCxxRevisionMacro(VolumeRendererData, "$Revision: 1.11 $"); vtkStandardNewMacro(VolumeRendererData); VolumeRendererData::VolumeRendererData() { - VolRendManager = 0; - ImageData = 0; - Renderer = 0; - Interactor = 0; - LookUpTable = 0; + VolRendManager = NULL; + ImageData = NULL; + Renderer = NULL; + Interactor = NULL; + LookUpTable = NULL; //ImageDataSeparateComponents = false; } void VolumeRendererData::ShowVolume(bool checked){ - try{ if(checked){ invariant(); - cout<<"JPRG::VolumeRendererData::ShowVolume"<addVolume(ImageData, Interactor); } if(LookUpTable) + { VolRendManager->SetLookupTable(LookUpTable); + } vector< vtkProp3D* > props = VolRendManager->getProps3D(); for(unsigned i = 0; i < props.size(); i++){ Renderer->AddActor(props[i]); @@ -48,31 +73,29 @@ void VolumeRendererData::ShowVolume(bool checked){ } -void VolumeRendererData::invariant(){ - if(!ImageData){ +void VolumeRendererData::invariant() +{ + if(!ImageData) + { throw "Image data not set"; } - if(!Renderer){ + if(!Renderer) + { throw "renderer not initialized"; } } -void VolumeRendererData::OpacityChanged(vector greyvalues, vector values){ +void VolumeRendererData::OpacityChanged(vector greyvalues, vector values) +{ //invariant(); - - - printf("EED VolumeRendererData::OpacityChanged 1\n"); - if(VolRendManager==NULL) - { - printf("EED VolumeRendererData::OpacityChanged 2\n"); - }else { - printf("EED VolumeRendererData::OpacityChanged 3\n"); + if(VolRendManager!=NULL) + { ShowVolume(true); VolRendManager->setVolumeOpacity(greyvalues,values); - } - printf("EED VolumeRendererData::OpacityChanged 4\n"); + } } + void VolumeRendererData::BoundingBoxChanged(bool checked){ // invariant(); @@ -89,12 +112,16 @@ void VolumeRendererData::BoundingBoxChanged(bool checked){ VolRendManager->DisableBoundingBox(); } } + } + void VolumeRendererData::changeCompositeMIPFunction(int function){ invariant(); if(VolRendManager) + { VolRendManager->changeCompositeMIPFunction(0, function); + } } /** @@ -105,5 +132,7 @@ void VolumeRendererData::changeCompositeMIPFunction(int function){ void VolumeRendererData::changeInterpolationType(int type){ invariant(); if(VolRendManager) + { VolRendManager->changeInterpolationType(type); + } }