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

vuColour7a.h

Go to the documentation of this file.
00001 #ifndef _VUCOLOUR7A_H_
00002 #define  _VUCOLOUR7A_H_
00003 
00004 #include "vuColour.h"
00005 
00006 class vuColourRGBa;
00007 class vuColourXYZa;
00008 class vuColour31a;
00009 
00010 #ifdef USE_GENERAL_BASIS
00011 
00013 static float CXF31to7[7][31] = {
00014     {1.2913105e-01, 1.5253018e-01, 1.4154656e-01, 1.0574002e-01, 1.0458454e-01,
00015      9.4486027e-02, 7.0508484e-02, 4.0804347e-02, 1.8667997e-02, 0.0000000e+00,
00016      0.0000000e+00, 7.4051800e-03, 1.4098413e-02, 2.1824785e-02, 1.6262405e-02,
00017      8.7110586e-03, 2.7723342e-03, 0.0000000e+00, 1.5368542e-04, 3.2073358e-03,
00018      1.1216282e-02, 1.5273987e-02, 1.1160928e-02, 2.8222770e-03, 1.9850616e-03,
00019      0.0000000e+00, 1.5793829e-03, 4.9089495e-03, 5.2035736e-03, 2.0967212e-03,
00020      1.1318433e-02},
00021     {0.0000000e+00, 1.1210836e-02, 2.9103518e-02, 4.9446387e-02, 7.2145155e-02,
00022      9.2668442e-02, 1.0689547e-01, 1.1834110e-01, 1.2545983e-01, 1.1707636e-01,
00023      9.6650550e-02, 6.6356110e-02, 3.3680392e-02, 8.6645027e-03, 2.4039133e-04,
00024      0.0000000e+00, 6.8382299e-04, 2.7245372e-03, 8.5134830e-03, 1.2941055e-02,
00025      1.0917532e-02, 6.6887750e-03, 3.0277282e-03, 1.1799357e-03, 0.0000000e+00,
00026      1.7026254e-03, 4.4202780e-03, 6.5575707e-03, 7.0525279e-03, 5.6510949e-03,
00027      0.0000000e+00},
00028     {3.5687689e-02, 3.2844018e-02, 1.9165534e-02, 6.9974822e-04, 0.0000000e+00,
00029      5.3156086e-03, 1.4738386e-02, 3.1642499e-02, 6.0969750e-02, 8.1396663e-02,
00030      1.0617772e-01, 1.2025340e-01, 1.2035505e-01, 1.1485992e-01, 8.9407736e-02,
00031      6.1651245e-02, 2.9534060e-02, 6.2348656e-03, 0.0000000e+00, 0.0000000e+00,
00032      7.4462486e-03, 1.3085454e-02, 1.1832966e-02, 5.7940379e-03, 4.4549819e-03,
00033      0.0000000e+00, 0.0000000e+00, 3.9040890e-03, 5.4701335e-03, 3.6058299e-03,
00034      1.3472363e-02},
00035     {0.0000000e+00, 7.5747528e-03, 1.7657598e-02, 2.6368651e-02, 2.9098178e-02,
00036      2.6181081e-02, 1.9298409e-02, 1.0261038e-02, 0.0000000e+00, 0.0000000e+00,
00037      8.8516584e-03, 3.0552863e-02, 6.5518650e-02, 1.0098675e-01, 1.1864524e-01,
00038      1.2513728e-01, 1.2276816e-01, 1.1020728e-01, 8.1705897e-02, 4.3036150e-02,
00039      1.5579734e-02, 0.0000000e+00, 0.0000000e+00, 6.3937226e-03, 7.4555850e-03,
00040      8.9827928e-03, 7.5671127e-03, 4.1899874e-03, 2.7200079e-03, 3.2614161e-03,
00041      0.0000000e+00},
00042     {2.9580810e-02, 2.9041592e-02, 1.8508875e-02, 3.2348948e-03, 0.0000000e+00,
00043      2.5304451e-04, 2.0314026e-03, 5.2697850e-03, 1.2744323e-02, 1.6250582e-02,
00044      2.1388691e-02, 1.9905568e-02, 7.5816420e-03, 0.0000000e+00, 9.1557586e-03,
00045      3.0163042e-02, 5.1817988e-02, 7.7726520e-02, 1.1438463e-01, 1.4052652e-01,
00046      1.4301567e-01, 1.1660470e-01, 7.0542092e-02, 2.6421756e-02, 1.1135345e-02,
00047      1.0879652e-03, 0.0000000e+00, 4.4976884e-03, 8.7098274e-03, 1.0701598e-02,
00048      1.7717698e-02},
00049     {4.7625752e-03, 1.1060937e-03, 0.0000000e+00, 2.3211012e-04, 2.9652922e-03,
00050      5.1528901e-03, 5.1229311e-03, 3.5528531e-03, 1.9767991e-03, 0.0000000e+00,
00051      0.0000000e+00, 1.7767586e-03, 4.9094258e-03, 1.0881941e-02, 1.0898793e-02,
00052      1.0066623e-02, 6.8033918e-03, 2.3833828e-03, 0.0000000e+00, 3.8204624e-03,
00053      3.7329491e-02, 8.0716041e-02, 1.1756954e-01, 1.3554434e-01, 1.4203171e-01,
00054      1.2609936e-01, 1.1051269e-01, 9.4640602e-02, 6.2321066e-02, 1.6822838e-02,
00055      0.0000000e+00},
00056     {0.0000000e+00, 4.8892266e-03, 8.6037442e-03, 1.1043274e-02, 1.0285065e-02,
00057      7.7775327e-03, 5.4062071e-03, 3.4881667e-03, 7.6726776e-04, 5.5173043e-04,
00058      0.0000000e+00, 9.7424710e-04, 4.7614830e-03, 4.9212197e-03, 4.0825669e-03,
00059      7.0637915e-04, 0.0000000e+00, 6.5374668e-04, 3.3329319e-05, 3.3255854e-03,
00060      0.0000000e+00, 2.2903435e-03, 1.4587071e-02, 3.4649168e-02, 4.9132868e-02,
00061      7.4371904e-02, 9.8147846e-02, 1.2017414e-01, 1.4859153e-01, 1.8238979e-01,
00062      2.0339457e-01
00063     }
00064 };
00065 #elif USE_OLD_GENERAL_BASIS
00066 
00068 static float CXF31to7[7][31] = {
00069   {
00070     1.2002231e-01, 1.4073467e-01, 1.4096815e-01, 1.1263114e-01,
00071     1.0626643e-01, 9.2993271e-02, 6.9433109e-02, 4.4381567e-02,
00072     2.3690000e-02, 6.2149451e-03, 0.0000000e+00, 3.6648484e-03,
00073     7.9302968e-03, 1.4693569e-02, 1.5906165e-02, 1.4484020e-02,
00074     1.0509659e-02, 8.6627655e-03, 9.2364097e-03, 4.2304034e-03,
00075     0.0000000e+00, 0.0000000e+00, 3.9506079e-04, 6.3332447e-04,
00076     3.0567183e-03, 6.5464161e-03, 9.8682043e-03, 1.2157955e-02, 
00077     1.2582588e-02, 8.1060029e-03, 0.0000000e+00
00078   },{
00079     0.0000000e+00, 6.5185226e-03, 1.9663932e-02, 3.4135592e-02,
00080     5.9434493e-02, 8.2437346e-02, 9.6845746e-02, 1.0501623e-01,
00081     1.1065374e-01, 1.0197605e-01, 8.6785629e-02, 5.9685237e-02,
00082     3.1977043e-02, 1.3914838e-02, 3.8057357e-03, 1.7769007e-04,
00083     3.2677888e-04, 0.0000000e+00, 1.6175729e-03, 1.3238266e-02,
00084     2.5796069e-02, 3.0293402e-02, 2.8430804e-02, 2.2949995e-02,
00085     1.6393529e-02, 8.2613872e-03, 2.7956703e-03, 0.0000000e+00,
00086     0.0000000e+00, 7.7654633e-03, 2.9103232e-02
00087   },{
00088     3.3822199e-02, 2.7107744e-02, 1.1769212e-02, 0.0000000e+00,
00089     5.2751063e-03, 1.5562897e-02, 2.4683757e-02, 3.4941433e-02,
00090     5.2636229e-02, 6.7514950e-02, 8.9435649e-02, 1.0655434e-01,
00091     1.0898780e-01, 1.0385029e-01, 8.3823686e-02, 6.6251940e-02,
00092     4.5513451e-02, 2.5497467e-02, 1.1062665e-02, 0.0000000e+00,
00093     0.0000000e+00, 6.6739476e-04, 1.8066428e-03, 0.0000000e+00,
00094     3.8082520e-03, 4.9702696e-03, 1.2481071e-02, 2.5221304e-02,
00095     2.7138986e-02, 9.6152707e-03, 0.0000000e+00
00096   },{
00097     0.0000000e+00, 8.7633041e-03, 2.3209989e-02, 2.6204612e-02,
00098     2.1875648e-02, 1.2010727e-02, 3.7960413e-03, 7.1264066e-04,
00099     0.0000000e+00, 5.6856235e-03, 1.8981450e-02, 4.3147074e-02,
00100     7.1665066e-02, 9.7505613e-02, 1.0908012e-01, 1.1256399e-01,
00101     1.0692711e-01, 9.9948109e-02, 9.0319237e-02, 6.2443765e-02,
00102     3.5978660e-02, 1.7414736e-02, 6.4102351e-03, 1.8968710e-03,
00103     0.0000000e+00, 8.3020907e-05, 2.7017146e-04, 0.0000000e+00,
00104     3.0983801e-03, 8.6533473e-03, 1.1354455e-02
00105   },{
00106     9.0700972e-03, 5.7734268e-03, 0.0000000e+00, 0.0000000e+00,
00107     4.2045100e-03, 1.0315085e-02, 1.4566234e-02, 1.5615907e-02,
00108     1.3371402e-02, 8.2711135e-03, 3.5818712e-03, 0.0000000e+00,
00109     2.6421273e-03, 1.2688784e-02, 2.6361042e-02, 4.2134036e-02,
00110     5.6258719e-02, 6.8834775e-02, 8.0616887e-02, 8.8620047e-02,
00111     9.7238975e-02, 9.5886654e-02, 8.6737515e-02, 7.4278309e-02,
00112     6.3171764e-02, 4.6006416e-02, 3.0030269e-02, 1.2651911e-02,
00113     0.0000000e+00, 4.5688094e-03, 2.6503312e-02
00114   },{
00115     2.6018824e-02, 2.0772074e-02, 7.7346765e-03, 0.0000000e+00,
00116     1.6594244e-03, 6.4943627e-03, 9.0531780e-03, 9.6299359e-03,
00117     1.0303552e-02, 9.9028742e-03, 1.1838819e-02, 1.0453470e-02,
00118     4.6030257e-03, 0.0000000e+00, 0.0000000e+00, 6.9064878e-03,
00119     1.5262097e-02, 2.4237652e-02, 3.6236839e-02, 5.1408105e-02,
00120     7.2563657e-02, 8.5594325e-02, 9.1085725e-02, 8.8567301e-02,
00121     9.0759965e-02, 8.4086898e-02, 7.9025435e-02, 7.2232715e-02,
00122     5.2420387e-02, 2.1148194e-02, 0.0000000e+00
00123   },{
00124     0.0000000e+00, 9.6785045e-03, 2.4089121e-02, 2.7182328e-02,
00125     2.3954977e-02, 1.4941675e-02, 6.0206013e-03, 1.6032588e-03,
00126     0.0000000e+00, 4.1984497e-03, 1.1135957e-02, 1.9469615e-02,
00127     2.2616046e-02, 1.9303135e-02, 1.4576435e-02, 9.8628959e-03,
00128     5.5518575e-03, 2.9655059e-03, 1.7280836e-03, 0.0000000e+00,
00129     2.1840396e-03, 1.3506427e-02, 3.1153770e-02, 4.8780678e-02,
00130     6.9310666e-02, 9.0208187e-02, 1.0955650e-01, 1.2723541e-01,
00131     1.2904578e-01, 1.0168743e-01, 5.8452669e-02
00132   }
00133 };
00134 
00135 #else
00136 
00137 /*-- specialized basis -- */
00139 static float CXF31to7[7][31] = {
00140     {
00141         1.3618155e-01, 1.4370534e-01, 1.4168173e-01, 1.3672959e-01, 1.1622784e-01, 8.7572932e-02,
00142         5.9309406e-02, 3.6051377e-02, 1.8152161e-02, 6.6294937e-03, 1.2406933e-03, 0.0000000e+00,
00143         5.5478080e-04, 2.7208645e-03, 6.6927598e-03, 1.1451176e-02, 1.5636109e-02, 1.5714090e-02,
00144         1.0988279e-02, 7.8135314e-03, 6.7908767e-03, 5.5921137e-03, 3.1061407e-03, 5.9422488e-04,
00145         0.0000000e+00, 2.1996150e-03, 6.3818472e-03, 9.7188720e-03, 8.1329166e-03, 2.4296940e-03,
00146         0.0000000e+00
00147     },{
00148         0.0000000e+00, 1.9853572e-02, 1.8298461e-02, 1.1851274e-02, 2.9164839e-02, 5.6976392e-02,
00149         8.5441708e-02, 1.0295338e-01, 1.1038465e-01, 1.0849193e-01, 9.7748082e-02, 8.2861109e-02,
00150         6.7234120e-02, 5.1177752e-02, 3.4057656e-02, 1.7750143e-02, 4.1669202e-03, 0.0000000e+00,
00151         5.6515037e-03, 8.4589159e-03, 7.4395464e-03, 7.1020408e-03, 9.4499304e-03, 1.1375657e-02,
00152         1.0164508e-02, 5.4806422e-03, 0.0000000e+00, 0.0000000e+00, 8.4553284e-03, 1.4677622e-02,
00153         1.3332325e-02
00154     },{
00155         1.4608250e-02, 1.7897444e-02, 1.0222349e-02, 0.0000000e+00, 4.6979604e-03, 1.7616064e-02,
00156         5.0030323e-02, 7.4454635e-02, 8.9643483e-02, 9.5390845e-02, 9.1171025e-02, 8.1655965e-02,
00157         7.0671676e-02, 5.9332103e-02, 4.7316468e-02, 3.5860095e-02, 2.5439803e-02, 2.1563180e-02,
00158         2.4315953e-02, 2.4137502e-02, 2.0450309e-02, 1.6979663e-02, 1.5355884e-02, 1.1287936e-02,
00159         5.1599727e-03, 0.0000000e+00, 9.5681213e-04, 1.5995079e-02, 3.4781019e-02, 2.3008202e-02,
00160         0.0000000e+00
00161     },{
00162         1.5662859e-02, 0.0000000e+00, 1.7886178e-02, 4.2089009e-02, 3.3931326e-02, 1.1042613e-02,
00163         2.1641198e-03, 0.0000000e+00, 1.6926754e-03, 7.6931316e-03, 1.7630668e-02, 2.9265722e-02,
00164         3.9565703e-02, 4.9680173e-02, 6.1130838e-02, 7.3019227e-02, 8.2936168e-02, 8.4321952e-02,
00165         7.4162973e-02, 6.5846467e-02, 6.2032348e-02, 5.7607426e-02, 4.7667511e-02, 3.0610834e-02,
00166         1.2180689e-02, 0.0000000e+00, 0.0000000e+00, 1.7524028e-02, 3.7806551e-02, 2.4848808e-02,
00167         0.0000000e+00,
00168     },{
00169         1.0501668e-02, 0.0000000e+00, 9.1153083e-03, 2.2549151e-02, 1.7485475e-02, 4.1934894e-03,
00170         0.0000000e+00, 0.0000000e+00, 2.3980977e-03, 7.5363528e-03, 1.5452670e-02, 2.4926536e-02,
00171         3.3806189e-02, 4.2620486e-02, 5.2320288e-02, 6.2508750e-02, 7.2116351e-02, 7.6326759e-02,
00172         7.2148726e-02, 6.9517238e-02, 7.1131034e-02, 7.2636422e-02, 6.8459681e-02, 5.7460345e-02,
00173         4.1169389e-02, 2.3410504e-02, 7.8870986e-03, 0.0000000e+00, 6.8323910e-03, 2.4488469e-02,
00174         3.1001130e-02
00175     },{
00176         9.9279499e-03, 2.2220714e-02, 1.2324782e-02, 0.0000000e+00, 4.5589222e-03, 1.6907276e-02,
00177         1.0825149e-02, 4.9179754e-03, 1.3388643e-03, 0.0000000e+00, 1.3746338e-03, 4.8935286e-03,
00178         9.3269409e-03, 1.2212991e-02, 1.1491088e-02, 7.4167365e-03, 3.0376778e-03, 4.9298639e-03,
00179         1.8635161e-02, 3.1657369e-02, 3.9381012e-02, 4.6315190e-02, 6.0222530e-02, 9.0497222e-02,
00180         1.2603100e-01, 1.4845063e-01, 1.3961063e-01, 7.7619138e-02, 0.0000000e+00, 1.5459086e-02,
00181         6.8415932e-02
00182     },{
00183         9.0072791e-03, 0.0000000e+00, 8.9911708e-03, 2.0269104e-02, 1.4440107e-02, 1.1588738e-03,
00184         0.0000000e+00, 1.8538418e-03, 4.8514858e-03, 8.7265864e-03, 1.2378906e-02, 1.5046852e-02,
00185         1.6484397e-02, 1.7829940e-02, 1.9633168e-02, 2.1194292e-02, 2.0404693e-02, 1.7384328e-02,
00186         1.3956074e-02, 1.0654694e-02, 5.8403335e-03, 7.3060091e-04, 0.0000000e+00, 3.5592431e-03,
00187         1.8382633e-02, 4.9331475e-02, 9.8466660e-02, 1.6220047e-01, 1.9553738e-01, 1.4024804e-01,
00188         9.1437370e-02
00189     }
00190 };
00191 #endif
00192 
00197 class vuColour7a : public vuColour<8>
00198 {
00199  public:
00201   vuColour7a() : vuColour<8>() {};
00203   vuColour7a(const vuColour7a& inst) : vuColour<8>(inst) {};
00205   vuColour7a(const vuColour<8>& inst) : vuColour<8>(inst) {};
00206 
00209   vuColour7a(const float *f) : vuColour<8>(f) {};
00211   vuColour7a(const float f) : vuColour<8>(f) {};
00212 
00214   vuColour7a(const vuColour31a& c31a) { from(c31a); };
00215 
00218   void from(const vuColour31a& c31a)
00219     {
00220       fromColourN((vuColour<32>&)c31a, (float*)CXF31to7);
00221     }
00222 
00224   static float* getCXF31to7() { return (float*) CXF31to7;};
00225 
00226 };
00227 
00228 #endif

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