RandomMapModifier
Source:
RandomMapModifier.h
RandomMapModifier¶
src/light/modifiers/RandomMapModifier.h:30Inherits:
ModifierBase
Modifier remapping every light through a random 1:1 permutation.
Public Attributes¶
uint8_t bpm = 6
Public Methods¶
virtual inline void defineControls() override
: defineControls MUST be idempotent and pure: only controls_.clear() + controls_.addX().
virtual inline bool affectsPrepare(constchar *) const override
: A modifier control change alters the mapping, so the owning Layer must rebuild it — the pipeline-wide rebuild path.
virtual inline void modifyLogicalSize(Coord3D &) override
: STATIC, build-time, once per rebuild in child order: fold the logical box.
virtual inline bool modifyLogical(Coord3D &) const override
: STATIC, build-time, per physical light in child order: fold a coordinate into this stage's logical space (in place).
virtual inline void tick() override
virtual inline bool consumeNeedsRebuild() override
: A modifier whose mapping changes on a timer (RandomMap reshuffles on a beat) sets a flag in its tick(); the Layer polls this once per frame across all its enabled modifiers and rebuilds the mapping ONCE if any returns true — so several dynamic modifiers ticking together coalesce to a single rebuild rather than each re-entering prepare().
inline void reshuffle()