#ifndef _CC_H_ #define _CC_H_ enum { ccTA_2, ccTC_2, D50_2, D55_2, D65_2, D75_2, F2_2, F7_2, F11_2, ccTA_10, ccTC_10, D50_10, D55_10, D65_10, D75_10, F2_10, F7_10, F11_10, ccNTristimulus }; enum { ccX, ccY, ccZ}; /* * Function Headers */ namespace OBJREC { class ColorConversion { private: static double ccmin(double val1, double val2, double val3); static double ccmax(double val1, double val2, double val3); static double Hue_2_RGB( double v1, double v2, double vH ); static double degree_2_radian(double val); public: static int ccXYZtoRGB(double x, double y, double z, double* r, double* g, double* b, char ObsIll); // static int ccRGBtoXYZ(double r, double g, double b, double* x, double* y, double* z, char ObsIll); // static int ccXYZtoYxy(double x, double y, double z, double* rY, double* rx, double* ry);// static int ccXYZtoLMS(double x, double y, double z, double* l, double* m, double* s);// static int ccLMStoOPP(double l, double m, double s, double* lum, double* lm, double* slm);// static int ccYxytoXYZ(double Y, double x, double y, double* rx, double* ry, double* rz);// static int ccXYZtoHunterLab(double x, double y, double z, double* L, double* a, double* b); // static int ccHunterLabtoXYZ(double L, double a, double b, double* x, double* y, double* z); // static int ccXYZtoCIE_Lab(double x, double y, double z, double* L, double* a, double* b, char ObsIll); // static int ccCIE_LabtoXYZ(double L, double a, double b, double* x, double* y, double* z, char ObsIll); // static int ccCIE_LabtoCIE_LCH(double L, double a, double b, double* rL, double* rC, double* rH); static int ccCIE_LCHtoCIE_Lab(double L, double C, double H, double* rL, double* ra, double* rb); static int ccXYZtoCIE_Luv(double x, double y, double z, double* L, double* u, double* v, char ObsIll); static int ccCIE_LuvtoXYZ(double L, double u, double v, double* x, double* y, double* z, char ObsIll); static int ccRGBtoHSL(double L, double a, double b, double* h, double* s, double* l); // static int ccHSLtoRGB(double h, double s, double l, double* r, double* g, double* b); // static int ccRGBtoHSV(double r, double g, double b, double* h, double* s, double* v); // static int ccHSVtoRGB(double h, double s, double v, double* r, double* g, double* b); // static int ccfRGBtoCMY(double r, double g, double b, double* c, double* m, double* y); // static int cciRGBtoCMY(int r, int g, int b, double* c, double* m, double* y); // static int ccCMYtofRGB(double c, double m, double y, double* r, double* g, double* b); // static int ccCMYtoiRGB(double c, double m, double y, int* r, int* g, int* b); // static int ccCMYtoCMYK(double c, double m, double y, double* C, double* M, double* Y, double* K); // static int ccCMYKtoCMY(double c, double m, double y, double k, double* C, double* M, double* Y); // static int ccFixRGB(double* r, double* g, double* b); }; } // namespace #endif