00001
00002 #ifndef _SPECTRALIMAGE_H_
00003 #define _SPECTRALIMAGE_H_
00004
00005 #include "Util.h"
00006
00007 namespace ns_vu1112112 {
00008 using namespace ns_vu1112112;
00009
00010
00018 class SpectralImage
00019 {
00020 public:
00022 const ColourType& get_light() const;
00025 bool get_xy(int x, int y, ColourType & col);
00027 void get_extents(int & sizx, int & sizy);
00030 bool init(int sizx, int sizy);
00033 void set_light(ColourType light);
00041 bool get_rgb(byte *buf, int size) const;
00042
00044 bool set_xy(int x, int y, const ColourType col) {
00045 if(x<0 || y<0 || x>=maxx || y>=maxy) return false;
00046 spix[x+maxx*y] = col;
00047 return true;
00048 }
00050 SpectralImage();
00052 virtual ~SpectralImage();
00054 void set_mask(bool value=true);
00056 void create_black_mask();
00057 private:
00059 ColourType light;
00061 ColourType *spix;
00063 bool *mask;
00065 int maxx,maxy;
00066 };
00067
00068 }
00069 #endif