00001 #include "vuConvert.h" 00002 00004 vu11122& vuConvert::convert(vu11122& dst, const vu11121& src) 00005 { 00006 vu1112 &pd = dst; 00007 const vu1112 &ps = src; 00008 pd = ps; // this copies all member variables 00009 // copying m_Data is wrong so we have to fix it... 00010 if(dst.m_Data) { 00011 delete [] dst.m_Data; 00012 dst.m_Data = NULL; 00013 } 00014 dst.m_DataSize = dst.m_Dim1Size*dst.m_Dim2Size*dst.m_Dim3Size*2; 00015 dst.m_Data = new byte[dst.m_DataSize]; 00016 word *dat = (word*) dst.m_Data; 00017 byte *sdat = src.m_Data; 00018 dword i; 00019 for(i = dst.m_Dim1Size*dst.m_Dim2Size*dst.m_Dim3Size; 00020 i>0; i--, dat++, sdat++) 00021 *dat = (word)(*sdat); 00022 00023 return dst; 00024 } 00025 00027 vu11121& vuConvert::convert(vu11121& dst, const vu11122& src) 00028 { 00029 vu1112 &pd = dst; 00030 const vu1112 &ps = src; 00031 pd = ps; // this copies all member variables 00032 00033 // copying m_Data is wrong so we have to fix it... 00034 if(dst.m_Data) { 00035 delete [] dst.m_Data; 00036 dst.m_Data = NULL; 00037 } 00038 00039 dst.m_DataSize = dst.m_Dim1Size*dst.m_Dim2Size*dst.m_Dim3Size; 00040 dst.m_Data = new byte[dst.m_DataSize]; 00041 00042 byte *dat = dst.m_Data; 00043 word *sdat = (word*)src.m_Data; 00044 dword i; 00045 for(i = dst.m_Dim1Size*dst.m_Dim2Size*dst.m_Dim3Size; 00046 i>0; i--, dat++, sdat++) 00047 *dat = (byte)(*sdat); 00048 00049 return dst; 00050 } 00051