59 virtual const
string name() const = 0;
128 const string name()
const override;
129 void set(
float x,
float y);
139 LinePath(
float x0,
float y0,
float x1,
float y1);
141 const string name()
const override;
142 void set(
float x0,
float y0,
float x1,
float y1);
156 const string name()
const override;
163 const string name()
const override;
170 const string name()
const override;
190 const string name()
const override;
209 const string name()
const override;
227 const string name()
const override;
235 void setN1(
float n1);
236 void setN2(
float n2);
237 void setN3(
float n3);
260 fl::size
size()
const;
263 const string name()
const override;
273 const vec2f &p3,
float t)
const;
void setRadius(float radius)
const string name() const override
ArchimedeanSpiralPath(u8 turns=3, float radius=1.0f)
vec2f compute(float alpha) override
CatmullRomParams() FL_NOEXCEPT
void addPoint(float x, float y)
fl::vector< vec2f > points
fl::size size() const
Get the number of control points.
CatmullRomParams & params()
fl::shared_ptr< CatmullRomParams > mParams
void clear()
Clear all control points.
vec2f interpolate(const vec2f &p0, const vec2f &p1, const vec2f &p2, const vec2f &p3, float t) const
vec2f compute(float alpha) override
CatmullRomPath(const fl::shared_ptr< CatmullRomParams > &p=fl::make_shared< CatmullRomParams >())
const string name() const override
void addPoint(vec2f p)
Add a point in [0,1]² to the path.
Catmull–Rom spline through arbitrary points.
const string name() const override
vec2f compute(float alpha) override
fl::shared_ptr< GielisCurveParams > mParams
GielisCurveParams & params()
vec2f compute(float alpha) override
GielisCurvePath(const fl::shared_ptr< GielisCurveParams > &p=fl::make_shared< GielisCurveParams >())
const string name() const override
vec2f compute(float alpha) override
const string name() const override
void set(float x0, float y0, float x1, float y1)
vec2f compute(float alpha) override
fl::shared_ptr< LinePathParams > mParams
const string name() const override
LinePath(const LinePathParamsPtr ¶ms=fl::make_shared< LinePathParams >())
LinePathParams & params()
PhyllotaxisParams & params()
fl::shared_ptr< PhyllotaxisParams > mParams
vec2f compute(float alpha) override
const string name() const override
PhyllotaxisPath(const fl::shared_ptr< PhyllotaxisParams > &p=fl::make_shared< PhyllotaxisParams >())
const string name() const override
vec2f compute(float alpha) override
void set(float x, float y)
PointPath(float x, float y)
fl::shared_ptr< RosePathParams > mParams
const string name() const override
RosePath(const fl::shared_ptr< RosePathParams > &p=fl::make_shared< RosePathParams >())
RosePathParams & params()
vec2f compute(float alpha) override
virtual bool hasDrawBounds(rect< i16 > *bounds)
virtual const string name() const =0
virtual vec2f compute(float alpha)=0
virtual ~XYPathGenerator() FL_NOEXCEPT=default
Centralized logging categories for FastLED hardware interfaces and subsystems.
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
Base definition for an LED controller.
#define FASTLED_UNUSED(x)
#define FASTLED_SHARED_PTR(type)