16 using namespace hippodraw;
44 double r = 1;
double g = 1;
double b = 1;
53 if ( brk_pt <= (1 - brk_pt))
54 flat = flat * ( brk_pt);
55 else flat = flat * ( 1 - brk_pt);
61 if ( v < (
m_vmin + ( 1.25 * brk_pt - 0.5 * flat + col) *
m_dv ) )
64 else if ( v > (
m_vmin + ( 1.25 * brk_pt - 0.5 * flat + col) *
m_dv ) &&
65 v < (
m_vmin + ( 1.25 * brk_pt + 0.5 * flat + col) *
m_dv ) )
66 r = ( v -
m_vmin - ( 1.25 * brk_pt - 0.5 * flat + col) * m_dv ) /
67 ( ( (flat+0.001) ) * m_dv );
69 else if( v > (
m_vmin + ( 1.25 * brk_pt + 0.5 * flat + col) *
m_dv ) &&
73 else r = 1 - 4 * ( v -
m_vmin - ( 1.25 + col ) * m_dv ) /
m_dv;
77 if ( v < (
m_vmin + (brk_pt - flat + col) *
m_dv ))
80 else if ( v > (
m_vmin + (brk_pt - flat + col) *
m_dv ) &&
81 v < (
m_vmin + (brk_pt + flat + col) *
m_dv ) )
84 else if ( v > (
m_vmin + (brk_pt + flat + col) *
m_dv ) &&
87 g = 1 - ( v -
m_vmin - ( brk_pt + flat + col )*m_dv)/
88 ( (1.001 - brk_pt - flat ) * m_dv );
94 if ( v < (
m_vmin + ( 0.75 * brk_pt - 0.5 * flat + col ) *
m_dv ) )
97 else if ( v > (
m_vmin + ( 0.75 * brk_pt - 0.5 * flat + col ) *
m_dv ) &&
98 v < (
m_vmin + ( 0.75 * brk_pt + 0.5 * flat + col) *
m_dv ) )
100 b = 1 - ( v -
m_vmin - ( 0.75 * brk_pt - 0.5 * flat + col )*m_dv ) /
101 ( ( (flat + 0.001) ) * m_dv );
103 else if ( v > (
m_vmin + ( 0.75 * brk_pt + 0.5 * flat + col) *
m_dv ) &&
107 else if ( v > (
m_vmin + ( 1 + col ) *
m_dv ) &&
110 b = 4 * ( v -
m_vmin - ( 1 + col ) * m_dv ) /
m_dv ;
114 int red = static_cast <
int > ( r * 255. );
115 int green = static_cast <
int > ( g * 255. );
116 int blue = static_cast <
int > ( b * 255. );
119 assert ( red < 256 && green < 256 && blue < 256 );
120 color.
setColor ( red, green, blue );