MCPcopy Create free account
hub / github.com/FastLED/FastLED / NewWaveSimulation2D

Function NewWaveSimulation2D

examples/XYPath/src/wave.cpp:42–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42WaveEffect NewWaveSimulation2D(const fl::XYMap& xymap) {
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}

Callers 1

setupFunction · 0.50

Calls 5

CreateArgsLowerFunction · 0.70
CreateArgsUpperFunction · 0.70
getWidthMethod · 0.45
getHeightMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected