58#define BU_COLOR_NULL ((struct bu_color *) 0)
63#define BU_COLOR_INIT(_c) { \
64 (_c)->buc_rgb[RED] = (_c)->buc_rgb[GRN] = (_c)->buc_rgb[BLU] = 0; (_c)->buc_rgb[ALP] = 0; \
70#define BU_COLOR_NEAR_EQUAL(_c1, _c2, _tol) \
71 HNEAR_EQUAL(_c1.buc_rgb, _c2.buc_rgb, _tol)
78#define BU_COLOR_INIT_ZERO {{0, 0, 0, 0}}
81#define BU_COLOR_BLUE {{0, 0, 1, 0}}
82#define BU_COLOR_CYAN {{0, 1, 1, 0}}
83#define BU_COLOR_GREEN {{0, 1, 0, 0}}
84#define BU_COLOR_PURPLE {{1, 0, 1, 0}}
85#define BU_COLOR_RED {{1, 0, 0, 0}}
86#define BU_COLOR_WHITE {{1, 1, 1, 0}}
87#define BU_COLOR_YELLOW {{1, 1, 0, 0}}
92#define BU_COLOR_CPY(_dest, _src) {\
93 (_dest)->buc_rgb[RED] = (_src)->buc_rgb[RED]; \
94 (_dest)->buc_rgb[GRN] = (_src)->buc_rgb[GRN]; \
95 (_dest)->buc_rgb[BLU] = (_src)->buc_rgb[BLU]; \
96 (_dest)->buc_rgb[ALP] = (_src)->buc_rgb[ALP]; \
Header file for the BRL-CAD common definitions.
int bu_color_to_rgb_ints(const struct bu_color *cp, int *r, int *g, int *b)
int bu_color_from_str(struct bu_color *cp, const char *str)
int bu_color_from_rgb_floats(struct bu_color *cp, const fastf_t *rgb)
void bu_rgb_to_hsv(const unsigned char *rgb, fastf_t *hsv)
int bu_str_to_rgb(const char *str, unsigned char *rgb)
int bu_hsv_to_rgb(const fastf_t *hsv, unsigned char *rgb)
int bu_color_from_rgb_chars(struct bu_color *cp, const unsigned char *rgb)
int bu_color_rand(struct bu_color *c, bu_color_rand_t type)
int bu_color_to_rgb_chars(const struct bu_color *cp, unsigned char *rgb)
int bu_color_to_rgb_floats(const struct bu_color *cp, fastf_t *rgb)
@ BU_COLOR_RANDOM_LIGHTENED
double fastf_t
fastest 64-bit (or larger) floating point type
fastf_t hvect_t[ELEMENTS_PER_HVECT]
4-tuple vector
Global registry of recognized magic numbers.
fundamental vector, matrix, quaternion math macros