]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkBaseData.cxx
Bug #1373
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtkBaseData.cxx
1
2 #include "vtkBaseData.h"
3
4 vtkBaseData::vtkBaseData()
5 {
6
7         _z            = 0;
8         _t            = 0;
9         _marImageData = 0;
10 }
11
12 //-------------------------------------------------------------------
13 vtkBaseData::~vtkBaseData()
14 {
15 }
16
17 //-------------------------------------------------------------------
18 void vtkBaseData::SetMarImageData(marImageData *marimagedata)
19 {
20         _marImageData = marimagedata;
21         //Configure();
22 }
23
24 //-------------------------------------------------------------------
25 vtkImageData* vtkBaseData::GetImageData()
26 {
27         if(_marImageData)
28         {
29                 return _marImageData->GetImageDataT(_t);
30         }else{
31                 return 0;
32         }
33         
34 }
35 //-------------------------------------------------------------------
36 marImageData* vtkBaseData::GetMarImageData()
37 {
38         return _marImageData;
39 }
40
41 //-------------------------------------------------------------------
42
43 void vtkBaseData::Configure()  // virtual
44 {
45         vtkImageData* imageData = _marImageData->GetImageData();
46         if(imageData !=NULL)
47         {
48                 double range[2];
49                 imageData->GetScalarRange(range);
50                 if (range[1]<20000){
51                         //EED Borrame 
52                         //_imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow( (range[1]-range[0])/2 );
53                         //_imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel( (range[1]+range[0])/4 );
54                         SetColorWindow( (range[1]-range[0])/2 );
55                         SetColorLevel( (range[1]+range[0])/4 );
56                 } else {
57                         //EED Borrame
58                         //_imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow( 1000 );
59                         //_imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel( 500 );
60                         SetColorWindow( 1000 );
61                         SetColorLevel( 500 );
62
63                 } // range
64         }       // img
65 }
66
67 //-------------------------------------------------------------------
68 void vtkBaseData::SetZ(double z){
69         //int maxZ;
70
71 //      int dim[3];
72 //      _marImageData->GetDimensions(dim);
73 //      maxZ=dim[2];
74
75         int ext[6];
76         double *origin;
77         
78         
79         vtkImageData* img = _marImageData->GetImageData();
80         if(img!=NULL){
81                 /*img->GetWholeExtent(ext);
82                 maxZ=ext[5]-ext[4]+1;
83
84                 if (z>=maxZ)
85                 {
86                         //z=maxZ-1;
87                 }
88                 if (z<=0)
89                 {
90                         z=0;
91                 }
92
93                 _z=z;*/
94                 img->GetExtent(ext);
95                 origin = img->GetOrigin();
96                 if (z > ext[5])
97                 {
98                         z = ext[5] + origin[2];
99                 }
100                 if (z < ext[4])
101                 {
102                         z = ext[4] + origin[2];
103                 }
104
105                 _z=z;
106         }
107 }
108
109 //-------------------------------------------------------------------
110 double vtkBaseData::GetZ()
111 {
112         return _z;
113 }
114
115 //-------------------------------------------------------------------
116 int vtkBaseData::GetT()
117 {
118         return _t;
119 }
120
121 //-------------------------------------------------------------------
122 void vtkBaseData::SetT(double t)
123 {
124         int maxT = _marImageData->GetMaxT();
125         if (t>=maxT)
126         {
127                 t=maxT-1;
128         }
129         if (t<=0)
130         {
131                 t=0;
132         }
133         _t=(int)t;
134 }
135
136 //-------------------------------------------------------------------
137 void vtkBaseData::SetColorWindow(double colorWindow)
138 {
139         _colorWindow = colorWindow;
140 }
141
142 //-------------------------------------------------------------------
143 void vtkBaseData::SetColorLevel(double colorLevel)      
144 {
145         _colorLevel=colorLevel;
146 }
147
148 //-------------------------------------------------------------------
149 double vtkBaseData::GetColorWindow()    
150 {
151         return _colorWindow;
152 }
153
154 //-------------------------------------------------------------------
155 double vtkBaseData::GetColorLevel()     
156 {
157         return _colorLevel;
158 }
159