RingsEffect
Source:
RingsEffect.h
RingsEffect¶
src/light/effects/RingsEffect.h:14Inherits:
EffectBase
Effect of expanding concentric rings from random centers.

Each ring grows continuously and respawns somewhere fresh once it leaves the grid. Several overlap, and where two rings cross their brightness sums. RipplesEffect holds the sine-wave water surface, where this one is the concentric form.
Public Attributes¶
uint8_t count = 2
: How many rings expand at a time.
uint8_t speed = 30
: How fast each one grows.
uint8_t thickness = 3
: How wide a ring's lit band is.
uint8_t hue_shift = 0
: Walks every ring around the palette.
Public Methods¶
virtual inline const char * tags() const override
: Catalog tags: MoonLight origin, David Jupijn and Rising Step.
virtual inline Dim dimensions() const override
: Iterates y and x, which extrude fills through a volume.
virtual inline void defineControls() override
: Publish the population, the growth rate, the band's width and the palette shift.
virtual inline void tick() override
: Grow every ring, respawning those that left, then light each pixel near one.
Public Static Attributes¶
constexpr uint8_t MAX_RIPPLES = 8
: How many rings the effect can hold at once.