const string name() const FL_NO_EXCEPT override
ArchimedeanSpiralPath(u8 turns=3, float radius=1.0f) FL_NO_EXCEPT
void setTurns(u8 turns) FL_NO_EXCEPT
vec2f compute(float alpha) FL_NO_EXCEPT override
void setRadius(float radius) FL_NO_EXCEPT
void clear() FL_NO_EXCEPT
CatmullRomParams() FL_NO_EXCEPT
void addPoint(vec2f p) FL_NO_EXCEPT
void addPoint(float x, float y) FL_NO_EXCEPT
fl::size size() const FL_NO_EXCEPT
fl::vector< vec2f > points
fl::shared_ptr< CatmullRomParams > mParams
CatmullRomPath(const fl::shared_ptr< CatmullRomParams > &p=fl::make_shared< CatmullRomParams >()) FL_NO_EXCEPT
const string name() const FL_NO_EXCEPT override
CatmullRomParams & params() FL_NO_EXCEPT
vec2f compute(float alpha) FL_NO_EXCEPT override
fl::size size() const FL_NO_EXCEPT
Get the number of control points.
vec2f interpolate(const vec2f &p0, const vec2f &p1, const vec2f &p2, const vec2f &p3, float t) const FL_NO_EXCEPT
void addPoint(vec2f p) FL_NO_EXCEPT
Add a point in [0,1]² to the path.
void clear() FL_NO_EXCEPT
Clear all control points.
Catmull–Rom spline through arbitrary points.
CirclePath() FL_NO_EXCEPT
const string name() const FL_NO_EXCEPT override
vec2f compute(float alpha) FL_NO_EXCEPT override
fl::shared_ptr< GielisCurveParams > mParams
void setN1(float n1) FL_NO_EXCEPT
const string name() const FL_NO_EXCEPT override
GielisCurveParams & params() FL_NO_EXCEPT
GielisCurvePath(const fl::shared_ptr< GielisCurveParams > &p=fl::make_shared< GielisCurveParams >()) FL_NO_EXCEPT
void setB(float b) FL_NO_EXCEPT
void setN2(float n2) FL_NO_EXCEPT
void setN3(float n3) FL_NO_EXCEPT
void setA(float a) FL_NO_EXCEPT
vec2f compute(float alpha) FL_NO_EXCEPT override
void setM(float m) FL_NO_EXCEPT
vec2f compute(float alpha) FL_NO_EXCEPT override
const string name() const FL_NO_EXCEPT override
const string name() const FL_NO_EXCEPT override
void set(float x0, float y0, float x1, float y1) FL_NO_EXCEPT
fl::shared_ptr< LinePathParams > mParams
LinePathParams & params() FL_NO_EXCEPT
LinePath(const LinePathParamsPtr ¶ms=fl::make_shared< LinePathParams >()) FL_NO_EXCEPT
vec2f compute(float alpha) FL_NO_EXCEPT override
const string name() const FL_NO_EXCEPT override
PhyllotaxisPath(const fl::shared_ptr< PhyllotaxisParams > &p=fl::make_shared< PhyllotaxisParams >()) FL_NO_EXCEPT
fl::shared_ptr< PhyllotaxisParams > mParams
PhyllotaxisParams & params() FL_NO_EXCEPT
vec2f compute(float alpha) FL_NO_EXCEPT override
void set(float x, float y) FL_NO_EXCEPT
vec2f compute(float alpha) FL_NO_EXCEPT override
const string name() const FL_NO_EXCEPT override
PointPath(float x, float y) FL_NO_EXCEPT
fl::shared_ptr< RosePathParams > mParams
void setN(u8 n) FL_NO_EXCEPT
void setD(u8 d) FL_NO_EXCEPT
const string name() const FL_NO_EXCEPT override
RosePath(const fl::shared_ptr< RosePathParams > &p=fl::make_shared< RosePathParams >()) FL_NO_EXCEPT
RosePathParams & params() FL_NO_EXCEPT
vec2f compute(float alpha) FL_NO_EXCEPT override
virtual bool hasDrawBounds(rect< i16 > *bounds) FL_NO_EXCEPT
virtual const string name() const FL_NO_EXCEPT=0
virtual vec2f compute(float alpha) FL_NO_EXCEPT=0
virtual ~XYPathGenerator() FL_NO_EXCEPT=default
Centralized logging categories for FastLED hardware interfaces and subsystems.
shared_ptr< T > make_shared(Args &&... args) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
Base definition for an LED controller.
#define FASTLED_UNUSED(x)
#define FASTLED_SHARED_PTR(type)