00001 #include "vuMap.h" 00002 00003 vuMap::vuMap() 00004 { 00005 createIdentity(); 00006 } 00007 00008 vuMap::~vuMap() 00009 {} 00010 00011 void vuMap::createRamp(word start, word startval, word end, word endval) 00012 { 00013 if(end<start) return; 00014 dword i; 00015 for(i=0; i<start; i++) 00016 m_Map[i] = startval; 00017 word w; 00018 word range = end-start; 00019 for(i=start, w=0; i<end; i++, w++) 00020 m_Map[i] = ((long)startval*(range-w) + endval*w)/range; 00021 for(i=end; i<(1<<16); i++) 00022 m_Map[i] = endval; 00023 } 00024 00025 void vuMap::createIdentity() 00026 { 00027 dword i; 00028 for(i=0; i<(1<<16); i++) 00029 m_Map[i] = (word)i; 00030 } 00031 00032 ostream& operator<<(ostream& os, const vuMap& map) 00033 { 00034 dword i; 00035 for(i=0; i<(1<<16); i++) 00036 os << map[i] << endl; 00037 return os; 00038 } 00039 00040 istream& operator>>(istream& is, vuMap& map) 00041 { 00042 dword i; 00043 for(i=0; i<(1<<16); i++) 00044 is >> map[i]; 00045 return is; 00046 }