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