X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2FCutModule%2Fkernel%2FCutModelData.cxx;h=546e416cd15547c95f1a67fd552615074fba483b;hb=8aa8568d0fa7b4e2c8f92372de3859a03c4072d0;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..546e416 100644 --- a/lib/maracasVisuLib/src/CutModule/kernel/CutModelData.cxx +++ b/lib/maracasVisuLib/src/CutModule/kernel/CutModelData.cxx @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: CutModelData.cxx,v $ Language: C++ - Date: $Date: 2010/09/29 21:21:05 $ - Version: $Revision: 1.7 $ + Date: $Date: 2011/02/07 10:30:05 $ + Version: $Revision: 1.9 $ Copyright: (c) 2002, 2003 License: @@ -15,7 +15,7 @@ =========================================================================*/ #include "CutModelData.h" - +#include "vtkRenderWindow.h" /** ** Start of the manager class **/ @@ -35,6 +35,7 @@ void CutModelData::initializeData(int id, vtkRenderWindowInteractor* interactor, createActor(); createShapes(); ChangeShape(0); + interactor->GetRenderWindow ()->Render(); checkInvariant(); } @@ -82,7 +83,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 +92,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); @@ -224,11 +226,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 +273,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)) )