X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2FCutModule%2Fkernel%2FCutModelData.cxx;h=ccd36989a479e62849484c255e0a17ff5b793999;hb=f9901e756bb82bd333310b47607875331616bb29;hp=9a62a583235aa08da593eca51199409b2a7e60e5;hpb=badc6cea49d018dec82191a977fc082299a1da35;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/CutModule/kernel/CutModelData.cxx b/lib/maracasVisuLib/src/CutModule/kernel/CutModelData.cxx index 9a62a58..ccd3698 100644 --- a/lib/maracasVisuLib/src/CutModule/kernel/CutModelData.cxx +++ b/lib/maracasVisuLib/src/CutModule/kernel/CutModelData.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: CutModelData.cxx,v $ Language: C++ - Date: $Date: 2010/09/29 21:21:05 $ - Version: $Revision: 1.7 $ + Date: $Date: 2012/11/15 14:15:48 $ + Version: $Revision: 1.10 $ Copyright: (c) 2002, 2003 License: @@ -15,7 +40,7 @@ =========================================================================*/ #include "CutModelData.h" - +#include "vtkRenderWindow.h" /** ** Start of the manager class **/ @@ -35,6 +60,7 @@ void CutModelData::initializeData(int id, vtkRenderWindowInteractor* interactor, createActor(); createShapes(); ChangeShape(0); + interactor->GetRenderWindow ()->Render(); checkInvariant(); } @@ -82,7 +108,8 @@ void CutModelData::setTransform(vtkImageData* img)throw( CutModelException){ inversModel = vtkTransform::New(); vtkMatrix4x4* matrix = vtkMatrix4x4::New(); - matrix->Identity(); + matrix->Identity(); + double *ori = img->GetOrigin(); int *ext = img->GetExtent(); double *spc = img->GetSpacing(); @@ -90,9 +117,9 @@ void CutModelData::setTransform(vtkImageData* img)throw( CutModelException){ matrix->SetElement(1,1,(ext[3]-ext[2])/4*spc[1]); matrix->SetElement(2,2,(ext[5]-ext[4])/4*spc[2]); - double orgx = (ext[1]-ext[0])/2*spc[0]; - double orgy = (ext[3]-ext[2])/2*spc[1]; - double orgz = (ext[5]-ext[4])/2*spc[2]; + double orgx = (ext[1]+ext[0])/2.*spc[0]; + double orgy = (ext[3]+ext[2])/2.*spc[1]; + double orgz = (ext[5]+ext[4])/2.*spc[2]; matrix->SetElement(0,3,orgx); matrix->SetElement(1,3,orgy); @@ -141,12 +168,29 @@ void CutModelData::ShowViewBox(bool check)throw( CutModelException){ void CutModelData::ChangeShape(int selection)throw( CutModelException){ checkInvariant(); - if(selection == 0){ + if(selection == 0) + { +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 _Mapper->SetInput(_spherefigure->getPolyData()); +#else + _Mapper->SetInputData(_spherefigure->getPolyData()); +#endif }else if(selection == 1){ + +#if VTK_MAJOR_VERSION <= 5 _Mapper->SetInput(_cylinderfigure->getPolyData()); +#else + _Mapper->SetInputData(_cylinderfigure->getPolyData()); +#endif + }else if(selection == 2){ +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 _Mapper->SetInput(_cubefigure->getPolyData()); +#else + _Mapper->SetInputData(_cubefigure->getPolyData()); +#endif }else{ throw CutModelException("Shape type not found"); } @@ -224,11 +268,11 @@ void CutModelData::ExecuteCut( double* range, bool isinside, vtkImageData* copyi copyimage->GetExtent(ext); - for (xx=ext[0];xxIfPointInside(xx,yy,zz); if ( ((inside==true)&&(isinside==true)) || ((!inside==true)&&(!isinside)) ) @@ -271,11 +315,11 @@ void CutModelData::ExecuteUnCut(bool isinside, vtkImageData* image, vtkImageData copyimage->GetExtent(ext); - for (xx=ext[0];xxIfPointInside(xx,yy,zz); if ( ((inside==true)&&(isinside==true)) || ((!inside==true)&&(!isinside)) )