vtkImageViewer2_XYZ.cxx
Go to the documentation of this file.00001 #include "vtkImageViewer2_XYZ.h"
00002 #include "vtkRenderer.h"
00003 #include "vtkImageActor.h"
00004
00005
00006
00007 vtkImageViewer2_XYZ::vtkImageViewer2_XYZ()
00008 {
00009 _vtkimageviewer2= vtkImageViewer2::New();
00010 _vtkimageviewer2->GetRenderer()->GradientBackgroundOn();
00011 _vtkimageviewer2->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 );
00012 _vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 );
00013 _colortable = NULL;
00014 }
00015
00016 vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ()
00017 {
00018
00019 }
00020
00021 void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2,
00022 int y1,int y2,
00023 int z1,int z2)
00024 {
00025 _x1=x1;
00026 _x2=x2;
00027 _y1=y1;
00028 _y2=y2;
00029 _z1=z1;
00030 _z2=z2;
00031 }
00032
00033 void vtkImageViewer2_XYZ::SetXSlice(int slice)
00034 {
00035 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00036 imageActor->SetDisplayExtent(slice, slice, _y1, _y2, _z1, _z2 );
00037 }
00038
00039 void vtkImageViewer2_XYZ::SetYSlice(int slice)
00040 {
00041 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00042 imageActor->SetDisplayExtent(_x1, _x2, slice, slice, _z1, _z2 );
00043 }
00044
00045 void vtkImageViewer2_XYZ::SetZSlice(int slice)
00046 {
00047 #if (VTK_MAJOR_VERSION >= 5)
00048
00049 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00050 imageActor->SetDisplayExtent(_x1, _x2, _y1, _y2, slice, slice );
00051 #else
00052 _vtkimageviewer2->SetZSlice( slice );
00053 #endif
00054
00055
00056 }
00057
00058 int vtkImageViewer2_XYZ::GetXSlice()
00059 {
00060 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00061 return imageActor->GetDisplayExtent()[0];
00062 }
00063
00064 int vtkImageViewer2_XYZ::GetYSlice()
00065 {
00066 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00067 return imageActor->GetDisplayExtent()[2];
00068 }
00069
00070 int vtkImageViewer2_XYZ::GetZSlice()
00071 {
00072
00073 int result;
00074 #if (VTK_MAJOR_VERSION >= 5)
00075 result= _vtkimageviewer2->GetSlice( );
00076 #else
00077 result= _vtkimageviewer2->GetZSlice( );
00078 #endif
00079
00080
00081 return result;
00082 }
00083
00084 vtkImageViewer2 *vtkImageViewer2_XYZ::GetVtkImageViewer2()
00085 {
00086 return _vtkimageviewer2;
00087 }
00088
00089 void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable){
00090
00091 vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel();
00092
00093 if(colortable!=NULL&&colortable->GetSize()>0 && _colortable != colortable){
00094 _colortable = colortable;
00095 imagemaptowindowlevel->SetLookupTable(colortable);
00096 }
00097
00098 }