Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vuColour9a.h

Go to the documentation of this file.
00001 #ifndef _VUCOLOUR9A_H_
00002 #define  _VUCOLOUR9A_H_
00003 
00004 #include "vuColour.h"
00005 
00006 class vuColourRGBa;
00007 
00008 static float CXF9toRGB[3][9] =
00009 {
00010     { -1.4601653e-01,   1.0639283e+00,   5.4538001e-01,  -1.4184008e+00,   3.7348021e+00,
00011       5.0477205e+00,   2.2590147e+00,  -3.4110859e-02,  -3.8327745e-01 },
00012     { -1.2479775e+00,   5.1621259e-01,  -1.1707956e+00,   4.0841890e+00,   6.1755619e+00,
00013       2.7762918e+00,   3.4248372e-01,  -4.5150307e-01,  -3.4306119e-01},
00014     { 9.1598366e-01,   9.8810768e+00,   3.3319956e+00,  -2.6782421e+00,   7.1566989e-01,
00015       -8.2538437e-01,   5.2107713e-01,  -1.2175700e+00,  -1.4383627e-02
00016     }
00017 };
00018 
00019 static float CXF31to9[9][31] = {
00020     { 1.5010492e+00,   1.6871730e+00,   1.3687703e+00,   7.7331782e-01,   2.1807997e-01,
00021       -2.5216521e-01,  -4.8409348e-01,  -4.4724444e-01,  -1.3134729e-01,   1.4531885e-01,
00022       2.0626154e-01,   4.3927901e-02,  -3.5710054e-01,  -6.2689505e-01,  -4.6448144e-01,
00023       -2.1500322e-01,   6.6068518e-02,   2.2320319e-01,   1.0804027e-01,   2.1518206e-02,
00024       -2.4057840e-01,  -2.5054929e-01,  -9.0174747e-02,   1.7152564e-01,   1.4197545e-01,
00025       2.3775307e-01,   1.7729939e-02,  -3.2821206e-01,  -2.7081198e-01,   1.6099215e-01,
00026       3.7336168e-02},
00027     {-5.4919524e-01,  -5.4594840e-01,  -1.3981436e-01,   3.2436897e-01,   1.6175578e+00,
00028      2.4065387e+00,   2.1515998e+00,   9.5121676e-01,  -8.2245353e-01,  -2.1550724e+00,
00029      -2.1518105e+00,  -1.0646296e+00,   8.2726957e-01,   2.2233131e+00,   1.6510663e+00,
00030      5.7222304e-01,  -5.4545193e-01,  -1.2154574e+00,  -1.0658067e+00,  -7.5220005e-01,
00031      3.6719788e-01,   7.5051365e-01,   3.8276599e-01,  -4.5640306e-01,  -3.6190735e-01,
00032      -7.3358291e-01,  -1.8232516e-01,   7.7541027e-01,   5.9287569e-01,  -6.4106245e-01,
00033      4.8443610e-02},
00034     {-3.4905770e-01,  -1.5860787e-01,   1.0565880e-01,   5.4778197e-01,  -3.1735915e-01,
00035      -7.9767182e-01,  -3.5951052e-01,   8.7841908e-01,   2.3651400e+00,   3.2904712e+00,
00036      2.5227706e+00,   7.9762700e-01,  -1.3517988e+00,  -2.8689844e+00,  -2.0387526e+00,
00037      -7.3874093e-01,   6.2992470e-01,   1.4138885e+00,   1.1148373e+00,   7.4540391e-01,
00038      -6.0977743e-01,  -1.0497006e+00,  -5.4923986e-01,   5.7899563e-01,   4.6200736e-01,
00039      9.2308602e-01,   1.7931733e-01,  -1.0850559e+00,  -8.5713263e-01,   7.9457253e-01,
00040      -1.6462608e-01},
00041     {4.9704352e-01,   1.9935986e-01,  -3.6538734e-01,  -1.1112966e+00,  -5.2332505e-01,
00042      3.4276198e-03,   5.0460022e-02,  -2.4516036e-01,  -4.1660563e-01,  -5.1987566e-01,
00043      5.0728863e-01,   1.6503608e+00,   2.4706817e+00,   2.8554987e+00,   1.6693683e+00,
00044      4.4089330e-01,  -8.5282206e-01,  -1.5288993e+00,  -1.0056661e+00,  -5.5394063e-01,
00045      6.1227504e-01,   9.2288640e-01,   4.1005847e-01,  -6.7557835e-01,  -5.8866438e-01,
00046      -9.6713239e-01,  -1.8154152e-01,   1.0763024e+00,   8.6722938e-01,  -7.9398715e-01,
00047      -6.6199811e-03},
00048     {-4.2506220e-01,  -2.2789148e-01,   2.2249201e-01,   8.3245731e-01,   2.8221904e-01,
00049      -2.2716922e-01,  -3.1950462e-01,  -1.0290377e-01,   5.9624772e-02,   3.2043098e-01,
00050      -1.6427942e-01,  -5.3295940e-01,  -4.5699716e-01,  -1.6929304e-01,   8.1602063e-01,
00051      1.5301528e+00,   2.1528594e+00,   2.2219957e+00,   1.2296648e+00,   3.7234754e-01,
00052      -8.0777117e-01,  -1.0693223e+00,  -5.1961719e-01,   5.3020857e-01,   4.6816429e-01,
00053      7.4519895e-01,  -3.3211479e-02,  -1.2033092e+00,  -1.0186240e+00,   5.1196332e-01,
00054      -6.5913131e-02},
00055     {2.6192195e-01,   2.1208399e-01,  -1.2863588e-01,  -6.6035302e-01,  -2.4418658e-01,
00056      1.3157824e-01,   1.8995612e-01,   2.9053809e-02,  -5.5878879e-02,  -2.0496383e-01,
00057      2.1393185e-01,   3.7520160e-01,   1.1640578e-03,  -3.2672022e-01,  -6.8747635e-01,
00058      -5.3658907e-01,  -3.4174084e-01,   1.5161648e-01,   1.3148438e+00,   1.8013867e+00,
00059      2.1796383e+00,   1.5415905e+00,   3.6584010e-01,  -1.0040271e+00,  -1.0798039e+00,
00060      -1.2327156e+00,  -3.2659140e-01,   9.1301919e-01,   8.5050485e-01,  -5.4781412e-01,
00061      -1.3438061e-01},
00062     {-4.9605296e-02,  -2.5096247e-01,   5.5609486e-03,   6.1216718e-01,   1.3494532e-01,
00063      -1.9388264e-01,  -1.3719668e-01,   9.1654583e-02,   1.1783621e-01,   1.2830304e-01,
00064      -5.2937964e-01,  -6.5544824e-01,   3.5168342e-02,   4.6438950e-01,   7.4979179e-01,
00065      2.7752462e-01,  -1.5259612e-01,  -6.0780017e-01,  -1.3140204e+00,  -6.2102573e-01,
00066      -2.6462596e-01,   6.8972706e-01,   1.4273453e+00,   2.2646068e+00,   1.8951178e+00,
00067      1.5999623e+00,  -1.2133352e-01,  -2.1011259e+00,  -1.9148408e+00,   4.7956763e-01,
00068      2.5414822e-01},
00069     {4.3639454e-02,   2.2586993e-01,  -1.4267185e-02,  -5.8405818e-01,  -1.8347767e-01,
00070      7.2475284e-02,  -7.4161072e-03,  -1.9909688e-01,  -1.4943236e-01,  -9.1546391e-02,
00071      5.2937378e-01,   5.7280436e-01,  -2.0110741e-01,  -6.0842631e-01,  -8.2848975e-01,
00072      -3.0386245e-01,   1.2658237e-01,   4.4460195e-01,   8.2322597e-01,  -1.3418964e-01,
00073      -1.8738156e-01,  -3.9888645e-01,  -2.4331493e-01,  -4.4266048e-01,   1.0723166e-01,
00074      2.3184386e-01,   1.6527983e+00,   3.2409383e+00,   2.4625994e+00,  -6.6853477e-01,
00075      -9.0189174e-01},
00076      {-5.6678868e-02,  -7.1670285e-02,   1.9966037e-02,   2.0342290e-01,   1.8721702e-02,
00077       -1.1262895e-01,  -9.1376741e-02,   7.4160010e-03,   4.3640467e-02,   8.2075743e-02,
00078       -1.1411154e-01,  -1.7237197e-01,   3.2190836e-03,   4.8062635e-02,   1.3250239e-01,
00079       -1.5539208e-03,  -7.3216603e-02,  -1.1122242e-01,  -2.1120949e-01,   9.7723250e-02,
00080       -5.0431235e-02,  -1.1575637e-01,  -1.6657360e-01,   2.8795026e-02,  -4.2225531e-02,
00081       1.9046923e-01,  -1.2757553e-02,  -2.9405319e-01,   2.8192564e-01,   1.6895421e+00,
00082       1.9586607e+00}
00083 };
00084 
00085 static float CXF9to31[31][9] = {
00086     {1.9396606e-01,   8.3417820e-03,   0.0000000e+00,   4.2893191e-02,   0.0000000e+00,
00087      2.2948747e-02,   1.1074235e-02,   3.8208623e-03,   0.0000000e+00},
00088     {2.2034290e-01,   2.6668097e-02,   1.0509422e-02,   4.0558125e-02,   8.9335660e-03,
00089      1.9318946e-02,   1.5967869e-03,   1.0469447e-02,   5.0374806e-04},
00090     {1.8589831e-01,   5.4395844e-02,   2.8376273e-02,   2.3860946e-02,   1.9383804e-02,
00091      1.0857007e-02,   4.3117474e-04,   9.0754444e-03,   6.9070435e-03},
00092     {1.1322126e-01,   8.0954451e-02,   4.9768817e-02,   0.0000000e+00,   2.8944133e-02,
00093      0.0000000e+00,   6.4255140e-03,   0.0000000e+00,   1.8831134e-02},
00094     {8.3855436e-02,   1.2208412e-01,   6.8211468e-02,   0.0000000e+00,   2.0769617e-02,
00095      9.1080458e-03,   9.7241918e-04,   1.0295430e-02,   7.6872718e-03},
00096     {5.2721842e-02,   1.4693809e-01,   8.6192988e-02,   5.4103249e-03,   9.8472382e-03,
00097      1.8900239e-02,   0.0000000e+00,   1.4936065e-02,   0.0000000e+00},
00098     {2.1487415e-02,   1.4331367e-01,   1.0162880e-01,   1.3119993e-02,   3.1307034e-03,
00099      2.1555192e-02,   4.3476982e-03,   1.0293814e-02,   2.0382115e-03},
00100     {0.0000000e+00,   1.1690413e-01,   1.1726562e-01,   2.7417811e-02,   1.0117269e-03,
00101      1.6777940e-02,   1.0145609e-02,   2.6418220e-03,   8.4465302e-03},
00102     {3.9930563e-03,   7.3772646e-02,   1.2951995e-01,   5.5445031e-02,   0.0000000e+00,
00103      9.9187727e-03,   1.2937079e-02,   2.1220967e-04,   9.6660025e-03},
00104     {8.2444658e-03,   3.1777269e-02,   1.2494476e-01,   7.5089481e-02,   7.3136282e-03,
00105      0.0000000e+00,   1.1879379e-02,   0.0000000e+00,   1.1594168e-02},
00106     {2.4468666e-02,   6.1464786e-03,   1.0298420e-01,   1.0300836e-01,   1.0596667e-02,
00107      1.1653563e-03,   1.4110863e-03,   1.2613170e-02,   0.0000000e+00},
00108     {3.0726613e-02,   0.0000000e+00,   6.9737353e-02,   1.1908655e-01,   2.0468467e-02,
00109      4.1030677e-03,   0.0000000e+00,   1.4298336e-02,   0.0000000e+00},
00110     {1.5331154e-02,   1.4924544e-02,   3.4362412e-02,   1.1811841e-01,   4.0865401e-02,
00111      2.1844167e-03,   1.0551318e-02,   8.9938709e-04,   1.7480965e-02},
00112     {5.9537656e-03,   3.0221627e-02,   7.0212805e-03,   1.1197527e-01,   6.7613359e-02,
00113      0.0000000e+00,   1.7832125e-02,   0.0000000e+00,   2.0623424e-02},
00114     {0.0000000e+00,   2.5798766e-02,   0.0000000e+00,   8.4451206e-02,   9.7220993e-02,
00115      1.4550873e-03,   2.0515088e-02,   1.9206477e-03,   2.2668703e-02},
00116     {0.0000000e+00,   1.6226557e-02,   0.0000000e+00,   5.6874652e-02,   1.1950831e-01,
00117      1.2360582e-02,   1.2296924e-02,   1.9281596e-02,   7.9122112e-03},
00118     {2.0272112e-03,   6.7605713e-03,   9.5102828e-04,   2.5022844e-02,   1.3346419e-01,
00119      2.5802389e-02,   4.1380300e-03,   3.1578839e-02,   0.0000000e+00},
00120     {4.1248381e-03,   4.9832947e-04,   2.0107501e-03,   2.8664971e-03,   1.3077361e-01,
00121      5.1281261e-02,   0.0000000e+00,   3.5547977e-02,   2.5111682e-04},
00122     {2.9309793e-03,   4.2947611e-04,   3.9950131e-03,   0.0000000e+00,   1.0043238e-01,
00123      1.0132279e-01,   3.1669294e-03,   3.3192302e-02,   3.7469111e-03},
00124     {8.1998963e-04,   0.0000000e+00,   8.4221233e-03,   0.0000000e+00,   5.7899232e-02,
00125      1.4701101e-01,   3.7303443e-02,   0.0000000e+00,   3.9643212e-02},
00126     {0.0000000e+00,   1.0719294e-02,   4.7612682e-03,   1.0541569e-02,   1.8987564e-02,
00127      1.6992594e-01,   7.7319840e-02,   8.6539817e-03,   2.8835196e-02},
00128     {3.3880422e-03,   1.2932282e-02,   3.5460568e-03,   1.6742243e-02,   0.0000000e+00,
00129      1.4993502e-01,   1.2028851e-01,   2.8091781e-02,   1.5130285e-02},
00130     {4.8691767e-03,   8.7213745e-03,   4.8561110e-03,   1.4588689e-02,   4.7495528e-03,
00131      9.4609413e-02,   1.4062377e-01,   6.1926804e-02,   0.0000000e+00},
00132     {3.5854057e-03,   0.0000000e+00,   9.1236065e-03,   5.3530171e-03,   2.0843435e-02,
00133      3.5146240e-02,   1.4735886e-01,   7.9312192e-02,   9.2372490e-03},
00134     {3.0366319e-03,   2.5365510e-03,   7.3158884e-03,   5.2479006e-03,   2.0969866e-02,
00135      1.7079676e-02,   1.3725082e-01,   1.0011314e-01,   8.0113866e-03},
00136     {4.3080855e-03,   0.0000000e+00,   9.2886920e-03,   0.0000000e+00,   2.5639039e-02,
00137      0.0000000e+00,   1.1269915e-01,   9.9043526e-02,   3.9339847e-02},
00138     {2.9784431e-03,   1.0256419e-02,   5.8717757e-03,   4.4835785e-03,   1.6825047e-02,
00139      0.0000000e+00,   6.6543482e-02,   1.2514744e-01,   4.2660585e-02},
00140     {0.0000000e+00,   2.4543913e-02,   0.0000000e+00,   1.4142951e-02,   1.3461108e-03,
00141      1.0583383e-02,   1.9116844e-02,   1.5236244e-01,   4.2538057e-02},
00142     {0.0000000e+00,   2.0504517e-02,   9.3633670e-04,   1.2993784e-02,   0.0000000e+00,
00143      1.3925459e-02,   0.0000000e+00,   1.1596599e-01,   1.1011712e-01},
00144     {9.4208104e-04,   0.0000000e+00,   8.3979908e-03,   0.0000000e+00,   1.2462368e-02,
00145      8.8793653e-03,   1.1773887e-02,   1.8305359e-02,   2.4203640e-01},
00146     {6.7781784e-03,   3.6292015e-03,   0.0000000e+00,   1.0707579e-02,   0.0000000e+00,
00147      2.3844659e-02,   0.0000000e+00,   0.0000000e+00,   2.8409322e-01},
00148 };
00149 
00150 
00155 class vuColour9a : public vuColour<10>
00156 {
00157  public:
00159   vuColour9a() : vuColour<10>() {};
00161   vuColour9a(const vuColour9a& inst) : vuColour<10>(inst) {};
00164   vuColour9a(const vuColour<10>& inst) : vuColour<10>(inst) {};
00165 
00168   vuColour9a(const float *f) : vuColour<10>(f) {};
00170   vuColour9a(const float f) : vuColour<10>(f) {};
00171 
00173   void to(vuColourRGBa& rgba)
00174     {
00175         toColourN((vuColour<4>&)rgba, (float*)CXF9toRGB);
00176     }
00177 
00179   void from(const vuColour31a& c31a)
00180     {
00181         fromColourN((vuColour<32>&)c31a, (float*)CXF31to9);
00182     }
00183 
00185   void to(vuColour31a& c31a)
00186     {
00187         toColourN((vuColour<32>&)c31a, (float*)CXF9to31);
00188     }
00189 
00190 };
00191 
00192 #endif

Generated on Wed Dec 15 21:20:33 2004 for vuVolume by  doxygen 1.3.9.1