+/*# ---------------------------------------------------------------------
+#
+# 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 "wxVtkMPR2DView.h"
#include "vtkInteractorStyleBaseView.h"
#include "vtkCellArray.h"
+#include "vtkImageActor.h"
+
#ifdef WIN32
#include <mathdefs.h>
using namespace gtm;
//-------------------------------------------------------------------
void wxVtkMPR2DView::Configure()
{
- printf("EED wxVtkMPR2DView::Configure");
-
wxVtk2DBaseView::Configure();
-
-
int x1,x2,y1,y2,z1,z2;
GetVtkmprbasedata() -> GetDimensionExtention(&x1,&x2,&y1,&y2,&z1,&z2);
-
double spc[3];
vtkImageData* img = GetVtkmprbasedata()->GetImageData();
if(_interactorstylemprview==NULL)
x1 = (int)(x1*spc[0]);
y1 = (int)(y1*spc[1]);
z1 = (int)(z1*spc[2]);
-
x2 = (int)(x2*spc[0]);
y2 = (int)(y2*spc[1]);
z2 = (int)(z2*spc[2]);
-
_visibleAxis = true;
-
-
-
}
// Axe A
_ptsA->SetNumberOfPoints(2);
_ptsA->SetPoint(0, -1000 , -1000 , -1000 );
_ptsA->SetPoint(1, 1000 , 1000 , 1000 );
-
_pdA = vtkPolyData::New();
-
_lineAMapper = vtkPolyDataMapper::New();
-
_lineAMapper->SetInput(_pdA);
_lineAMapper->ImmediateModeRenderingOn();
_lineAActor->SetMapper(_lineAMapper);
_lineBActor->GetProperty()->SetLineWidth(0.5);
_lineBMapper = vtkPolyDataMapper::New();
_lineBActor->SetMapper(_lineBMapper);
-
_ptsB = vtkPoints::New();
_ptsB->SetNumberOfPoints(2);
_ptsB->SetPoint(0, -1000 , -1000 , -1000 );
_ptsB->SetPoint(1, 1000 , 1000 , 1000 );
-
// _lineBActor->GetProperty()->BackfaceCullingOn();
}
_pdB->SetPoints( _ptsB );
_pdB->SetLines( linesB );
linesB->Delete(); //do not delete lines ??
-
-
_lineBMapper->SetInput(_pdB);
_lineBMapper->ImmediateModeRenderingOn();
-
-
if(_imageViewer2XYZ){
_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineAActor );
_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineBActor );
// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow (160);
// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel (800);
}
-
}
void wxVtkMPR2DView::SetVisibleAxis(bool ok)
//-------------------------------------------------------------------
void wxVtkMPR2DView::Refresh()
{
-
- printf("wxVtkMPR2DView::Refresh start\n");
-
//wxVtk2DBaseView::Refresh();
+ int x1 = 0,x2 = 0,y1 = 0,y2 = 0,z1 = 0,z2 = 0;
+//EED 02/08/2013
+// int x = 0, y = 0, z = 0;
+ double x = 0, y = 0, z = 0;
- //vtkImageViewer2 *IV2=_imageViewer2XYZ->GetVtkImageViewer2(); // JPRx
- //vtkCamera *camera = IV2->GetRenderer()->GetActiveCamera(); // JPRx
-
-
- int x1 = 0,x2 = 0,y1 = 0,y2 = 0,z1 = 0,z2 = 0;
- int x = 0, y = 0, z = 0;
int xx = 0, yy = 0, zz = 0;
double *spc = 0;
double *origin = 0;
double xx1,yy1,zz1,xx2,yy2,zz2;
-
- //GetVtkmprbasedata()->GetDimensionExtention(&x1,&x2,&y1,&y2,&z1,&z2);
-
-
vtkImageData* img = GetVtkmprbasedata()->GetImageData();
- if(img!=NULL){
+ if(img!=NULL)
+ {
origin = img->GetOrigin();
img->GetExtent(x1,x2,y1,y2,z1,z2);
spc = img->GetSpacing();
yy = (int)(GetVtkmprbasedata()->GetY());
zz = (int)(GetVtkmprbasedata()->GetZ());
- x = round(xx*spc[0]);
- y = round(yy*spc[1]);
- z = round(zz*spc[2]);
-
+//EED 02/08/2013
+// x = round(xx*spc[0]);
+// y = round(yy*spc[1]);
+// z = round(zz*spc[2]);
+
+ x = xx*spc[0];
+ y = yy*spc[1];
+ z = zz*spc[2];
+
if ((xx!=_backX) || (yy!=_backY) || (zz!=_backZ)) {
if (_direction==0) { // YZ
_ptsB->SetPoint(1, x , yy2, z1 );
- }
+ } // if back
_backX=xx;
_backY=yy;
_backZ=zz;
- }
+ } // if image
+
-//EED 24oct2010
-_imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->Modified();
+//EED 2016/02/19
+ vtkImageActor *imageactor = _imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor();
+ imageactor->SetInterpolate( GetVtkBaseData()->GetInterpolate() );
+//EED 01nov2012
+ UpdateColorWindowLevel();
wxVtkBaseView::Refresh();
-
- printf("wxVtkMPR2DView::Refresh end\n");
-
}
}
//-------------------------------------------------------------------