]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx
changes in viewers
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtkImageViewer2_XYZ.cxx
1 #include "vtkImageViewer2_XYZ.h"
2 #include "vtkRenderer.h"
3 #include "vtkImageActor.h"
4 #include "vtkImageData.h"
5 //-------------------------------------------------------------------
6 //-------------------------------------------------------------------
7 //-------------------------------------------------------------------
8 vtkImageViewer2_XYZ::vtkImageViewer2_XYZ()
9 {
10         _vtkimageviewer2=  vtkImageViewer2::New();
11         _vtkimageviewer2->GetRenderer()->GradientBackgroundOn();
12         _vtkimageviewer2->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 );
13         _vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 );
14         _colortable = NULL;
15 }
16 //-------------------------------------------------------------------
17 vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ()
18 {
19         //_vtkimageviewer2->Delete();
20 }
21 //-------------------------------------------------------------------
22 void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2,
23                                                                                          int y1,int y2,
24                                                                                          int z1,int z2)
25 {
26         _x1=x1;
27         _x2=x2;
28         _y1=y1;
29         _y2=y2;
30         _z1=z1;
31         _z2=z2;
32 }
33 //-------------------------------------------------------------------
34 void vtkImageViewer2_XYZ::SetXSlice(int slice)
35 {
36         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
37         imageActor->SetDisplayExtent(slice, slice, _y1, _y2, _z1, _z2 );  
38 }
39 //-------------------------------------------------------------------
40 void vtkImageViewer2_XYZ::SetYSlice(int slice)
41 {
42         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
43         imageActor->SetDisplayExtent(_x1, _x2, slice, slice, _z1, _z2 );  
44 }
45 //-------------------------------------------------------------------
46 void vtkImageViewer2_XYZ::SetZSlice(int slice)
47 {
48 #if (VTK_MAJOR_VERSION >= 5)
49 //              _vtkimageviewer2->SetSlice( slice );
50         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
51         imageActor->SetDisplayExtent(_x1, _x2, _y1, _y2, slice, slice );  
52 #else
53                 _vtkimageviewer2->SetZSlice( slice );
54 #endif
55
56
57 }
58 //-------------------------------------------------------------------
59 int vtkImageViewer2_XYZ::GetXSlice()
60 {
61         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
62         return imageActor->GetDisplayExtent()[0];
63 }
64 //-------------------------------------------------------------------
65 int vtkImageViewer2_XYZ::GetYSlice()
66 {
67         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
68         return imageActor->GetDisplayExtent()[2];
69 }
70 //-------------------------------------------------------------------
71 int vtkImageViewer2_XYZ::GetZSlice()
72 {
73
74          int result;
75 #if (VTK_MAJOR_VERSION >= 5)
76                 result= _vtkimageviewer2->GetSlice( );
77 #else
78                 result= _vtkimageviewer2->GetZSlice( );
79 #endif
80
81         
82         return result;
83 }
84 //-------------------------------------------------------------------
85 vtkImageViewer2 *vtkImageViewer2_XYZ::GetVtkImageViewer2()
86 {
87         return _vtkimageviewer2;
88 }
89
90 void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable){
91
92         
93         vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel();
94
95         if(colortable!=NULL&&colortable->GetSize()>0 && _colortable != colortable){
96                 _colortable = colortable;
97                 imagemaptowindowlevel->SetLookupTable(colortable);
98         }
99
100 }