48template<
typename T>
class Grid;
52 return static_cast<fl::u16
>(
ceil_constexpr(
static_cast<float>(numLeds) / totalTurns));
iterator(const Corkscrew *corkscrew, fl::size position) FL_NO_EXCEPT
iterator operator--(int) FL_NO_EXCEPT
bool operator==(const iterator &other) const FL_NO_EXCEPT
iterator operator++(int) FL_NO_EXCEPT
difference_type operator-(const iterator &other) const FL_NO_EXCEPT
vec2f operator*() const FL_NO_EXCEPT
const Corkscrew * mCorkscrew
iterator & operator--() FL_NO_EXCEPT
fl::bidirectional_iterator_tag iterator_category
bool operator!=(const iterator &other) const FL_NO_EXCEPT
fl::variant< fl::span< CRGB >, fl::vector_psram< CRGB > > PixelStorage
Corkscrew(float totalTurns, fl::u16 numLeds, bool invert=false, const Gap &gapParams=Gap()) FL_NO_EXCEPT
void setCachingEnabled(bool enabled) FL_NO_EXCEPT
fl::ScreenMap toScreenMap(float diameter=0.5f) const FL_NO_EXCEPT
fl::u16 cylinderWidth() const FL_NO_EXCEPT
fl::u16 cylinderHeight() const FL_NO_EXCEPT
fl::span< CRGB > data() FL_NO_EXCEPT
iterator end() FL_NO_EXCEPT
void fillInputSurface(const CRGB &color) FL_NO_EXCEPT
void initializeCache() const FL_NO_EXCEPT
vec2f at_no_wrap(fl::u16 i) const FL_NO_EXCEPT
fl::shared_ptr< fl::Grid< CRGB > > & getOrCreateInputSurface() FL_NO_EXCEPT
fl::size size() const FL_NO_EXCEPT
PixelStorage mPixelStorage
fl::shared_ptr< fl::Grid< CRGB > > mInputSurface
fl::vector< Tile2x2_u8_wrap > mTileCache
iterator begin() FL_NO_EXCEPT
void clear() FL_NO_EXCEPT
CRGB * rawData() FL_NO_EXCEPT
Tile2x2_u8_wrap at_wrap(float i) const FL_NO_EXCEPT
fl::size pixelCount() const FL_NO_EXCEPT
vec2f at_exact(fl::u16 i) const FL_NO_EXCEPT
void readFromMulti(const fl::Grid< CRGB > &target_grid) const FL_NO_EXCEPT
fl::Grid< CRGB > & surface() FL_NO_EXCEPT
Tile2x2_u8_wrap calculateTileAtWrap(float i) const FL_NO_EXCEPT
Tile2x2_u8 at_splat_extrapolate(float i) const FL_NO_EXCEPT
void readFrom(const fl::Grid< CRGB > &source_grid, bool use_multi_sampling=true) FL_NO_EXCEPT
void initializeBuffer() const FL_NO_EXCEPT
fl::Corkscrew corkscrew(CORKSCREW_TURNS, NUM_LEDS)
u8 u8 fract8 blur_amount FL_NO_EXCEPT
constexpr fl::u16 calculateCorkscrewHeight(float totalTurns, fl::u16 numLeds) FL_NO_EXCEPT
constexpr int ceil_constexpr(float value) FL_NO_EXCEPT
constexpr fl::u16 calculateCorkscrewWidth(float totalTurns, fl::u16 numLeds) FL_NO_EXCEPT
Base definition for an LED controller.
Representation of an 8-bit RGB pixel (Red, Green, Blue)
Gap(Gap &&other) FL_NO_EXCEPT=default
Gap & operator=(const Gap &other)=default
Gap & operator=(Gap &&other) FL_NO_EXCEPT=default
Gap() FL_NO_EXCEPT=default
Gap(const Gap &other) FL_NO_EXCEPT=default
Gap(int n, float g) FL_NO_EXCEPT
Struct representing gap parameters for corkscrew mapping.