Definition at line 163 of file flowfield.cpp.hpp.
164 {
167 float rad = diam * 0.5f;
172 for (
int y = y0;
y <= y1;
y++) {
173 for (
int x = x0;
x <= x1;
x++) {
174 float dx = (
x + 0.5f) - cx;
175 float dy = (
y + 0.5f) - cy;
176 float dist =
sqrtf(dx * dx + dy * dy);
177 float cov =
clampf(rad + 0.5f - dist, 0.0f, 1.0f);
178 if (cov <= 0.0f)
179 continue;
180 float inv = 1.0f - cov;
182 mR[i] =
mR[i] * inv + cr * cov;
183 mG[i] =
mG[i] * inv + cg * cov;
184 mB[i] =
mB[i] * inv + cb * cov;
185 }
186 }
187}
static float clampf(float v, float lo, float hi)
int idx(int y, int x) const
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NOEXCEPT
float sqrtf(float value) FL_NOEXCEPT
constexpr common_type_t< T, U > max(T a, U b) FL_NOEXCEPT
float floorf(float value) FL_NOEXCEPT
float ceilf(float value) FL_NOEXCEPT
References fl::ceilf(), clampf(), fl::floorf(), fl::Fx2d::getHeight(), fl::Fx2d::getWidth(), idx(), fl::max(), mB, mG, fl::min(), mR, fl::sqrtf(), fl::x, and fl::y.
Referenced by emitLissajousLine(), and emitOrbitalDots().