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 }