00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "spectrumwavelengths.h"
00025 #include "regular.h"
00026 #include "spd.h"
00027 #include "memory.h"
00028
00029 using namespace lux;
00030
00031 #include "data/rgbE_32.h"
00032
00033
00034 SpectrumWavelengths::SpectrumWavelengths() {
00035 single = false;
00036 single_w = 0;
00037
00038 spd_w = new RegularSPD(refrgb2spect_white,
00039 refrgb2spect_start, refrgb2spect_end, refrgb2spect_bins);
00040 spd_w->Scale(refrgb2spect_scale);
00041
00042 spd_c = new RegularSPD(refrgb2spect_cyan,
00043 refrgb2spect_start, refrgb2spect_end, refrgb2spect_bins);
00044 spd_c->Scale(refrgb2spect_scale);
00045
00046 spd_m = new RegularSPD(refrgb2spect_magenta,
00047 refrgb2spect_start, refrgb2spect_end, refrgb2spect_bins);
00048 spd_m->Scale(refrgb2spect_scale);
00049
00050 spd_y = new RegularSPD(refrgb2spect_yellow,
00051 refrgb2spect_start, refrgb2spect_end, refrgb2spect_bins);
00052 spd_y->Scale(refrgb2spect_scale);
00053
00054 spd_r = new RegularSPD(refrgb2spect_red,
00055 refrgb2spect_start, refrgb2spect_end, refrgb2spect_bins);
00056 spd_r->Scale(refrgb2spect_scale);
00057
00058 spd_g = new RegularSPD(refrgb2spect_green,
00059 refrgb2spect_start, refrgb2spect_end, refrgb2spect_bins);
00060 spd_g->Scale(refrgb2spect_scale);
00061
00062 spd_b = new RegularSPD(refrgb2spect_blue,
00063 refrgb2spect_start, refrgb2spect_end, refrgb2spect_bins);
00064 spd_b->Scale(refrgb2spect_scale);
00065 }
00066
00067 SpectrumWavelengths::~SpectrumWavelengths()
00068 {
00069 delete spd_w;
00070 delete spd_c;
00071 delete spd_m;
00072 delete spd_y;
00073 delete spd_r;
00074 delete spd_g;
00075 delete spd_b;
00076 }
00077