00001 00002 #include "vtkBaseData.h" 00003 00004 vtkBaseData::vtkBaseData() 00005 { 00006 00007 _z = 0; 00008 _t = 0; 00009 _marImageData = NULL; 00010 } 00011 00012 //------------------------------------------------------------------- 00013 vtkBaseData::~vtkBaseData() 00014 { 00015 } 00016 00017 //------------------------------------------------------------------- 00018 void vtkBaseData::SetMarImageData(marImageData *marimagedata) 00019 { 00020 _marImageData = marimagedata; 00021 //Configure(); 00022 } 00023 00024 //------------------------------------------------------------------- 00025 vtkImageData* vtkBaseData::GetImageData() 00026 { 00027 return _marImageData->GetImageDataT(_t); 00028 } 00029 //------------------------------------------------------------------- 00030 marImageData* vtkBaseData::GetMarImageData() 00031 { 00032 return _marImageData; 00033 } 00034 00035 //------------------------------------------------------------------- 00036 00037 void vtkBaseData::Configure() // virtual 00038 { 00039 } 00040 00041 //------------------------------------------------------------------- 00042 void vtkBaseData::SetZ(double z){ 00043 //int maxZ; 00044 00045 // int dim[3]; 00046 // _marImageData->GetDimensions(dim); 00047 // maxZ=dim[2]; 00048 00049 int ext[6]; 00050 vtkImageData* img = _marImageData->GetImageData(); 00051 if(img!=NULL){ 00052 /*img->GetWholeExtent(ext); 00053 maxZ=ext[5]-ext[4]+1; 00054 00055 if (z>=maxZ) 00056 { 00057 //z=maxZ-1; 00058 } 00059 if (z<=0) 00060 { 00061 z=0; 00062 } 00063 00064 _z=z;*/ 00065 img->GetExtent(ext); 00066 if (z > ext[5]) 00067 { 00068 z = ext[5]; 00069 } 00070 if (z < ext[4]) 00071 { 00072 z = ext[4]; 00073 } 00074 00075 _z=z; 00076 } 00077 } 00078 //------------------------------------------------------------------- 00079 double vtkBaseData::GetZ() 00080 { 00081 return _z; 00082 } 00083 //------------------------------------------------------------------- 00084 int vtkBaseData::GetT() 00085 { 00086 return _t; 00087 } 00088 //------------------------------------------------------------------- 00089 void vtkBaseData::SetT(double t) 00090 { 00091 int maxT = _marImageData->GetMaxT(); 00092 if (t>=maxT) 00093 { 00094 t=maxT-1; 00095 } 00096 if (t<=0) 00097 { 00098 t=0; 00099 } 00100 _t=(int)t; 00101 } 00102