19 using namespace hippodraw;
33 const char * model_name)
65 double r = 1;
double g = 1;
double b = 1;
74 if ( brk_pt <= (1 - brk_pt))
75 flat = flat * ( brk_pt);
76 else flat = flat * ( 1 - brk_pt);
82 if ( v < (
m_vmin + ( 1.25 * brk_pt - 0.5 * flat + col) *
m_dv ) )
85 else if ( v > (
m_vmin + ( 1.25 * brk_pt - 0.5 * flat + col) *
m_dv ) &&
86 v < (
m_vmin + ( 1.25 * brk_pt + 0.5 * flat + col) *
m_dv ) )
87 r = ( v -
m_vmin - ( 1.25 * brk_pt - 0.5 * flat + col) * m_dv ) /
88 ( ( (flat+0.001) ) * m_dv );
90 else if( v > (
m_vmin + ( 1.25 * brk_pt + 0.5 * flat + col) *
m_dv ) &&
94 else r = 1 - 4 * ( v -
m_vmin - ( 1.25 + col ) * m_dv ) /
m_dv;
98 if ( v < (
m_vmin + (brk_pt - flat + col) *
m_dv ))
101 else if ( v > (
m_vmin + (brk_pt - flat + col) *
m_dv ) &&
102 v < (
m_vmin + (brk_pt + flat + col) *
m_dv ) )
105 else if ( v > (
m_vmin + (brk_pt + flat + col) *
m_dv ) &&
108 g = 1 - ( v -
m_vmin - ( brk_pt + flat + col )*m_dv)/
109 ( (1.001 - brk_pt - flat ) * m_dv );
115 if ( v < (
m_vmin + ( 0.75 * brk_pt - 0.5 * flat + col ) *
m_dv ) )
118 else if ( v > (
m_vmin + ( 0.75 * brk_pt - 0.5 * flat + col ) *
m_dv ) &&
119 v < (
m_vmin + ( 0.75 * brk_pt + 0.5 * flat + col) *
m_dv ) )
121 b = 1 - ( v -
m_vmin - ( 0.75 * brk_pt - 0.5 * flat + col )*m_dv ) /
122 ( ( (flat + 0.001) ) * m_dv );
124 else if ( v > (
m_vmin + ( 0.75 * brk_pt + 0.5 * flat + col) *
m_dv ) &&
128 else if ( v > (
m_vmin + ( 1 + col ) *
m_dv ) &&
131 b = 4 * ( v -
m_vmin - ( 1 + col ) * m_dv ) /
m_dv ;
135 int red = static_cast <
int > ( r * 255. );
136 int green = static_cast <
int > ( g * 255. );
137 int blue = static_cast <
int > ( b * 255. );
140 assert ( red < 256 && green < 256 && blue < 256 );
141 color.
setColor ( red, green, blue );