FastLED 3.9.15
Loading...
Searching...
No Matches

◆ NewWaveSimulation2D()

WaveEffect NewWaveSimulation2D ( const fl::XYMap & xymap)

Definition at line 42 of file wave.cpp.

42 {
43 // only apply complex xymap as the last step after compositiing.
44 fl::XYMap xy_rect =
45 fl::XYMap::constructRectangularGrid(xymap.getWidth(), xymap.getHeight());
46 fl::Blend2dPtr fxBlend =
47 fl::make_shared<fl::Blend2d>(xymap); // Final transformation goes to the blend stack.
48 int width = xymap.getWidth();
49 int height = xymap.getHeight();
50 fl::XYMap xyRect(width, height, false);
51 fl::WaveFx::Args args_lower = CreateArgsLower();
52 fl::WaveFx::Args args_upper = CreateArgsUpper();
53 fl::WaveFxPtr wave_fx_low = fl::make_shared<fl::WaveFx>(xy_rect, args_lower);
54 fl::WaveFxPtr wave_fx_high = fl::make_shared<fl::WaveFx>(xy_rect, args_upper);
55 fl::Blend2dPtr blend_stack = fl::make_shared<fl::Blend2d>(xymap);
56 blend_stack->add(wave_fx_low);
57 blend_stack->add(wave_fx_high);
58 WaveEffect out = {
59 .wave_fx_low = wave_fx_low,
60 .wave_fx_high = wave_fx_high,
61 .blend_stack = blend_stack,
62 };
63
64 return out;
65}
XYMap xymap
fl::WaveFx::Args CreateArgsUpper()
Definition wave.cpp:31
fl::WaveFx::Args CreateArgsLower()
Definition wave.cpp:20
WaveFxArgs Args
Definition wave.h:168
static XYMap constructRectangularGrid(u16 width, u16 height, u16 offset=0) FL_NOEXCEPT
Definition xymap.cpp.hpp:35
u8 u8 height
Definition blur.h:186
u8 width
Definition blur.h:186
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
Definition shared_ptr.h:414

References fl::XYMap::constructRectangularGrid(), CreateArgsLower(), CreateArgsUpper(), fl::make_shared(), and xymap.

Referenced by setup().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: