FastLED 3.10.6
Loading...
Searching...
No Matches
fl::ScreenMap Class Reference

Detailed Description

#include <screenmap.h>

+ Collaboration diagram for fl::ScreenMap:

Classes

struct  Shape
 

Public Member Functions

 ScreenMap () FL_NO_EXCEPT
 
 ScreenMap (const ScreenMap &other) FL_NO_EXCEPT
 
 ScreenMap (const vec2f *lut, u32 length, float diameter=-1.0) FL_NO_EXCEPT
 
template<u32 N>
 ScreenMap (const vec2f(&lut)[N], float diameter=-1.0) FL_NO_EXCEPT
 
 ScreenMap (int count, float diameter, fl::function< void(int, vec2f &pt_out)> func) FL_NO_EXCEPT
 
 ScreenMap (ScreenMap &&other) FL_NO_EXCEPT
 
 ScreenMap (u32 length, float mDiameter=-1.0f) FL_NO_EXCEPT
 
 ~ScreenMap () FL_NO_EXCEPT
 
void addOffset (const vec2f &p) FL_NO_EXCEPT
 
ScreenMap & addOffsetX (float x) FL_NO_EXCEPT
 
ScreenMap & addOffsetY (float y) FL_NO_EXCEPT
 
vec2f getBounds () const FL_NO_EXCEPT
 
float getDiameter () const FL_NO_EXCEPT
 
u32 getLength () const FL_NO_EXCEPT
 
const Shape & getShape (u32 index) const FL_NO_EXCEPT
 
u32 getShapeCount () const FL_NO_EXCEPT
 
const XYMapPtr & getSourceXYMapPtr () const FL_NO_EXCEPT
 Get the source XYMap shared pointer if available.
 
const XYMap * getXYMap () const FL_NO_EXCEPT
 Get the source XYMap as a raw const pointer.
 
bool hasShapes () const FL_NO_EXCEPT
 
bool hasSourceXYMap () const FL_NO_EXCEPT
 Check if source XYMap is available.
 
vec2f mapToIndex (u32 x) const FL_NO_EXCEPT
 
ScreenMap & operator= (const ScreenMap &other) FL_NO_EXCEPT
 
ScreenMap & operator= (ScreenMap &&other) FL_NO_EXCEPT
 
const vec2f & operator[] (u32 x) const FL_NO_EXCEPT
 
vec2f & operator[] (u32 x) FL_NO_EXCEPT
 
void set (u16 index, const vec2f &p) FL_NO_EXCEPT
 
void setDiameter (float diameter) FL_NO_EXCEPT
 
void setShape (u32 index, Shape::Type type, const vec2f *vertices, u32 count, float thickness=0.0f) FL_NO_EXCEPT
 
void setSourceXYMap (const fl::shared_ptr< XYMap > &xymap) FL_NO_EXCEPT
 Set the source XYMap (used for pixel transformation during encoding)
 

Static Public Member Functions

static ScreenMap Circle (int numLeds, float cm_between_leds=1.5f, float cm_led_diameter=0.5f, float completion=1.0f) FL_NO_EXCEPT
 
static ScreenMap DefaultStrip (int numLeds, float cm_between_leds=1.5f, float cm_led_diameter=0.2f, float completion=.9f) FL_NO_EXCEPT
 
static bool ParseJson (const char *jsonStrScreenMap, const char *screenMapName, ScreenMap *screenmap, string *err=nullptr) FL_NO_EXCEPT
 
static bool ParseJson (const char *jsonStrScreenMap, fl::flat_map< string, ScreenMap > *segmentMaps, string *err=nullptr) FL_NO_EXCEPT
 
static void toJson (const fl::flat_map< string, ScreenMap > &, fl::json *doc) FL_NO_EXCEPT
 
static void toJsonStr (const fl::flat_map< string, ScreenMap > &, string *jsonBuffer) FL_NO_EXCEPT
 

Static Private Member Functions

static const vec2f & empty () FL_NO_EXCEPT
 

Private Attributes

u32 length = 0
 
float mDiameter = -1.0f
 
LUTXYFLOATPtr mLookUpTable
 
fl::vector< Shape > mShapes
 
XYMapPtr mSourceXYMap
 

The documentation for this class was generated from the following files: