]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/CutModule/kernel/CutModelData.cxx
cut model manager addition of panels
[creaMaracasVisu.git] / lib / maracasVisuLib / src / CutModule / kernel / CutModelData.cxx
index 9a62a583235aa08da593eca51199409b2a7e60e5..7b23c7ff52f15b0e800543e918067a198e104174 100644 (file)
@@ -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 09:16:29 $
+  Version:   $Revision: 1.8 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -82,7 +82,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 +91,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 = (ori[0] + (ext[1]-ext[0])/2)*spc[0];
+       double orgy = (ori[1] + (ext[3]-ext[2])/2)*spc[1];
+       double orgz = (ori[2] + (ext[5]-ext[4])/2)*spc[2];
 
        matrix->SetElement(0,3,orgx);
        matrix->SetElement(1,3,orgy);