]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkBaseData.cxx
bcec9763fb175e9caed38e2bf38f6aef4e302209
[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                 return _marImageData->GetImageDataT(_t);
29         }else{
30                 return 0;
31         }
32         
33 }
34 //-------------------------------------------------------------------
35 marImageData* vtkBaseData::GetMarImageData()
36 {
37         return _marImageData;
38 }
39
40 //-------------------------------------------------------------------
41
42 void vtkBaseData::Configure()  // virtual
43 {
44 }
45
46 //-------------------------------------------------------------------
47 void vtkBaseData::SetZ(double z){
48         //int maxZ;
49
50 //      int dim[3];
51 //      _marImageData->GetDimensions(dim);
52 //      maxZ=dim[2];
53
54         int ext[6];
55         double *origin;
56         
57         
58         vtkImageData* img = _marImageData->GetImageData();
59         if(img!=NULL){
60                 /*img->GetWholeExtent(ext);
61                 maxZ=ext[5]-ext[4]+1;
62
63                 if (z>=maxZ)
64                 {
65                         //z=maxZ-1;
66                 }
67                 if (z<=0)
68                 {
69                         z=0;
70                 }
71
72                 _z=z;*/
73                 img->GetExtent(ext);
74                 origin = img->GetOrigin();
75                 if (z > ext[5])
76                 {
77                         z = ext[5] + origin[2];
78                 }
79                 if (z < ext[4])
80                 {
81                         z = ext[4] + origin[2];
82                 }
83
84                 _z=z;
85         }
86 }
87 //-------------------------------------------------------------------
88 double vtkBaseData::GetZ()
89 {
90         return _z;
91 }
92 //-------------------------------------------------------------------
93 int vtkBaseData::GetT()
94 {
95         return _t;
96 }
97 //-------------------------------------------------------------------
98 void vtkBaseData::SetT(double t)
99 {
100         int maxT = _marImageData->GetMaxT();
101         if (t>=maxT)
102         {
103                 t=maxT-1;
104         }
105         if (t<=0)
106         {
107                 t=0;
108         }
109         _t=(int)t;
110 }
111