]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRBaseData.cxx
#3219 creaMaracasVisu Feature New Normal - vtk8itk4wx3-mingw64
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMPRBaseData.cxx
index 9ec150285bf768281eb8bf1911601030e3b22724..feb2f74282b21457dac7a573bb21e26fc7679fac 100644 (file)
@@ -1,3 +1,28 @@
+/*# ---------------------------------------------------------------------
+#
+# 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 <vtkPlanes.h>
@@ -13,7 +38,9 @@
 #include "pPlotter/HistogramDialog.h"
 
 
-
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
 //-------------------------------------------------------------------
 //-------------------------------------------------------------------
 //-------------------------------------------------------------------
@@ -27,28 +54,44 @@ vtkMPRBaseData::vtkMPRBaseData()
   _x=0;
   _y=0;
   _z=0;
+  _x1 = 0;
+  _x2 = 0;
+  _y1 = 0;
+  _y2 = 0;
+  _z1 = 0;
+  _z2 = 0;
   _transformOrientation = NULL;
   _marImageData = NULL;
 }
+
 //-------------------------------------------------------------------
 vtkMPRBaseData::~vtkMPRBaseData()
 {
        if (_marImageData)                      delete _marImageData;
        if (_transformOrientation)      _transformOrientation ->Delete();
 }
+
 //-------------------------------------------------------------------
 void vtkMPRBaseData::Configure()
 {
+       //EED 03nov2012
+       vtkBaseData::Configure();
+       
        vtkImageData* img = _marImageData->GetImageData();
-       if(img !=NULL){
+       if(img !=NULL)
+       {
                img->GetExtent (_x1,_x2,_y1,_y2,_z1,_z2);
-       //std::cout<<"vtkMPRBaseData::Configure() _x1= "<<_x1<<" _x2= "<<_x2<<" _y1= "<<_y1<<" _y2= "<<_y2<<" _z1= "<<_z1<<" _z2= "<<_z2<<std::endl;
-               if(_transformOrientation==NULL){
-                       _transformOrientation=vtkTransform::New();
-               }
-               _transformOrientation->Identity();
+       //std::cout<<"vtkMPRBaseData::Configure() _x1= "<<_x1<<" _x2= "<<_x2<<" _y1= "<<_y1<<" _y2= "<<_y2<<" _z1= "<<_z1<<" _z2= "<<_z2<<std::endl;            
+       }
+       
+       if(_transformOrientation==NULL)
+       {
+               _transformOrientation=vtkTransform::New();
        }
+       
+       _transformOrientation->Identity();
 }
+
 //-------------------------------------------------------------------
 void vtkMPRBaseData::GetDimensionExtention(int *x1,int *x2,int *y1,int *y2,int *z1,int *z2)
 {
@@ -95,7 +138,7 @@ void vtkMPRBaseData::SetX(double x)
 {
        //int dim[3];
        int ext[6];
-
+       double* origin;
        vtkImageData* img = _marImageData->GetImageData();
        if(img!=NULL){
                /*img->GetDimensions(dim);
@@ -109,15 +152,18 @@ void vtkMPRBaseData::SetX(double x)
                }
                _x=x;*/
                img->GetExtent(ext);
+               origin = img->GetOrigin();
                if (x < ext[0])
                {
-                       x=ext[0];
+                       x=ext[0] + origin[0];
                }
                if (x > ext[1])
                {
-                       x=ext[1];
+                       x=ext[1] + origin[0];
                }
+               
                _x=x;
+               _observable->InvokeEvent(1);    
        }
 }
 //-------------------------------------------------------------------
@@ -128,6 +174,7 @@ void vtkMPRBaseData::SetY(double y)
 {
        //int dim[3];
        int ext[6];
+       double* origin;
        vtkImageData* img = _marImageData->GetImageData();
        if(img!=NULL){
                /*img->GetDimensions(dim);
@@ -141,15 +188,17 @@ void vtkMPRBaseData::SetY(double y)
                }
                _y=y;*/
                img->GetExtent(ext);
+               origin = img->GetOrigin();
                if (y<ext[2])
                {
-                       y=ext[2];
+                       y=ext[2] + origin[1];
                }
                if (y > ext[3])
                {
-                       y=ext[3];
+                       y=ext[3] + origin[1];
                }
                _y=y;
+               _observable->InvokeEvent(2);    
        }
 }
 //-------------------------------------------------------------------