126 const Str name()
const override;
127 void set(
float x,
float y);
137 LinePath(
float x0,
float y0,
float x1,
float y1);
139 const Str name()
const override;
140 void set(
float x0,
float y0,
float x1,
float y1);
154 const Str name()
const override;
161 const Str name()
const override;
168 const Str name()
const override;
186 RosePath(uint8_t n = 3, uint8_t d = 1);
188 const Str name()
const override;
193 void setN(uint8_t n);
194 void setD(uint8_t d);
207 const Str name()
const override;
225 const Str name()
const override;
233 void setN1(
float n1);
234 void setN2(
float n2);
235 void setN3(
float n3);
261 const Str name()
const override;
271 const vec2f &p3,
float t)
const;
const Str name() const override
void setRadius(float radius)
ArchimedeanSpiralPath(uint8_t turns=3, float radius=1.0f)
vec2f compute(float alpha) override
void setTurns(uint8_t turns)
HeapVector< vec2f > points
void addPoint(float x, float y)
CatmullRomParams & params()
void clear()
Clear all control points.
vec2f interpolate(const vec2f &p0, const vec2f &p1, const vec2f &p2, const vec2f &p3, float t) const
CatmullRomPath(const Ptr< CatmullRomParams > &p=NewPtr< CatmullRomParams >())
vec2f compute(float alpha) override
Ptr< CatmullRomParams > mParams
const Str name() const override
size_t size() const
Get the number of control points.
void addPoint(vec2f p)
Add a point in [0,1]² to the path.
Catmull–Rom spline through arbitrary points.
const Str name() const override
vec2f compute(float alpha) override
Ptr< GielisCurveParams > mParams
GielisCurveParams & params()
const Str name() const override
vec2f compute(float alpha) override
GielisCurvePath(const Ptr< GielisCurveParams > &p=NewPtr< GielisCurveParams >())
const Str name() const override
vec2f compute(float alpha) override
void set(float x0, float y0, float x1, float y1)
vec2f compute(float alpha) override
const Str name() const override
LinePath(const LinePathParamsPtr ¶ms=NewPtr< LinePathParams >())
LinePathParams & params()
Ptr< LinePathParams > mParams
PhyllotaxisPath(const Ptr< PhyllotaxisParams > &p=NewPtr< PhyllotaxisParams >())
PhyllotaxisParams & params()
vec2f compute(float alpha) override
Ptr< PhyllotaxisParams > mParams
const Str name() const override
vec2f compute(float alpha) override
const Str name() const override
void set(float x, float y)
PointPath(float x, float y)
RosePath(const Ptr< RosePathParams > &p=NewPtr< RosePathParams >())
const Str name() const override
RosePathParams & params()
vec2f compute(float alpha) override
Ptr< RosePathParams > mParams
virtual const Str name() const =0
virtual vec2f compute(float alpha)=0
virtual bool hasDrawBounds(rect< int > *bounds)
Ptr< T > NewPtr(Args... args)
Implements a simple red square effect for 2D LED grids.
static FASTLED_NAMESPACE_BEGIN uint8_t const p[]
#define FASTLED_SMART_PTR(type)
#define FASTLED_UNUSED(x)