void interpolateBetweenColors(std_msgs::ColorRGBA& color, const std_msgs::ColorRGBA& colorForLowerValue, const std_msgs::ColorRGBA& colorForUpperValue, const double value, const double lowerValueBound, const double upperValueBound) { setColorChannelFromValue(color.r, value, lowerValueBound, upperValueBound, false, colorForLowerValue.r, colorForUpperValue.r); setColorChannelFromValue(color.g, value, lowerValueBound, upperValueBound, false, colorForLowerValue.g, colorForUpperValue.g); setColorChannelFromValue(color.b, value, lowerValueBound, upperValueBound, false, colorForLowerValue.b, colorForUpperValue.b); }
std_msgs::ColorRGBA interpolateBetweenColors( const float value, const float lowerValueBound, const float upperValueBound, const std_msgs::ColorRGBA& colorForLowerValue, const std_msgs::ColorRGBA& colorForUpperValue) { std_msgs::ColorRGBA color; color.a = 1.0; setColorChannelFromValue( color.r, value, lowerValueBound, upperValueBound, false, colorForLowerValue.r, colorForUpperValue.r); setColorChannelFromValue( color.g, value, lowerValueBound, upperValueBound, false, colorForLowerValue.g, colorForUpperValue.g); setColorChannelFromValue( color.b, value, lowerValueBound, upperValueBound, false, colorForLowerValue.b, colorForUpperValue.b); return color; }