769 {
770
771 if (t <= 0.0f) {
772 *out_r = r1; *out_g = g1; *out_b = b1;
773 return;
774 }
775 if (t >= 1.0f) {
776 *out_r = r2; *out_g = g2; *out_b = b2;
777 return;
778 }
779
780 double x[7] = {
781 static_cast<double>(r1), static_cast<double>(g1), static_cast<double>(b1),
782 static_cast<double>(r2), static_cast<double>(g2), static_cast<double>(b2),
783 static_cast<double>(t)
784 };
785
786 double features[330];
788
789
790 for (int c = 0; c < 3; ++c) {
794 }
795
796 int val = static_cast<int>(sum);
797 if (val < 0) val = 0;
798 if (val > 255) val = 255;
799
800 if (c == 0) *out_r = static_cast<unsigned char>(val);
801 else if (c == 1) *out_g = static_cast<unsigned char>(val);
802 else *out_b = static_cast<unsigned char>(val);
803 }
804}
void compute_poly_features(const double x[7], double out[330])
Definition FilamentMixerModel.hpp:732
static const double INTERCEPT[3]
Definition FilamentMixerModel.hpp:725
static const double COEF[330][3]
Definition FilamentMixerModel.hpp:392
static const int N_FEATURES
Definition FilamentMixerModel.hpp:56