FastLED 3.9.15
Loading...
Searching...
No Matches

◆ getBounds()

vec2f fl::ScreenMap::getBounds ( ) const

Definition at line 368 of file screenmap.cpp.

368 {
369
370 if (length == 0 || !mLookUpTable) {
371 return {0, 0};
372 }
373
374 LUTXYFLOAT &lut = *mLookUpTable.get();
375
376 fl::vec2f *data = lut.getDataMutable();
377 // float minX = lut[0].x;
378 // float maxX = lut[0].x;
379 // float minY = lut[0].y;
380 // float maxY = lut[0].y;
381 float minX = data[0].x;
382 float maxX = data[0].x;
383 float minY = data[0].y;
384 float maxY = data[0].y;
385
386 for (u32 i = 1; i < length; i++) {
387 const vec2f &p = lut[i];
388 minX = MIN(minX, p.x);
389 maxX = MAX(maxX, p.x);
390 minY = MIN(minY, p.y);
391 maxY = MAX(maxY, p.y);
392 }
393
394 return {maxX - minX, maxY - minY};
395}
LUTXYFLOATPtr mLookUpTable
Definition screenmap.h:103
#define MIN(a, b)
Definition math_macros.h:41
#define MAX(a, b)
Definition math_macros.h:37
LUT< vec2f > LUTXYFLOAT
Definition lut.h:26
vec2< float > vec2f
Definition geometry.h:333
value_type y
Definition geometry.h:191
value_type x
Definition geometry.h:190

References fl::LUT< T >::getDataMutable(), length, MAX, MIN, mLookUpTable, fl::vec2< T >::x, and fl::vec2< T >::y.

+ Here is the call graph for this function: