42 template <
typename Value,
int DefaultCycles>
47 const unsigned int cycles )
48 : myMin( amin ), myMax( amax ), myCycles( cycles )
52 template <
typename Value,
int DefaultCycles>
60 template <
typename Value,
int DefaultCycles>
66 template <
typename Value,
int DefaultCycles>
71 if ( &other !=
this ) {
82 template<
typename Value,
int DefaultCycles>
90 template<
typename Value,
int DefaultCycles>
98 template<
typename Value,
int DefaultCycles>
107 template<
typename Value,
int DefaultCycles>
113 return getColor( myCycles, myMin, myMax, value );
120 template <
typename Value,
int DefaultCycles>
125 out <<
"[HueShadeColorMap "
128 <<
" cycles=" << myCycles
136 template <
typename Value,
int DefaultCycles>
144 template <
typename Value,
int DefaultCycles>
148 (
const unsigned int cycles,
151 const Value & value )
153 const double scale = ( value - min ) / static_cast<double>( max - min );
154 const double hue = 360 * ( scale * cycles - floor(scale * cycles));
155 double red, green, blue;
157 return Color( static_cast<int>( red * 255),
158 static_cast<int>( green * 255),
159 static_cast<int>( blue * 255) );
165 template <
typename Value,
int DefaultCycles>
171 object.selfDisplay( out );
182 template <
typename Value,
int DefaultCycles>
186 (
double & r,
double & g,
double & b,
187 const double h,
const double s,
const double v)
195 i =
static_cast<int>( floor( h / 60 ) );
198 q = v * ( 1.0 - s * f );
199 t = v * ( 1.0 - s * ( 1.0 - f ) );