hyperion.ng/include/hyperion/LedString.h

79 lines
1.6 KiB
C
Raw Normal View History

#pragma once
// STL includes
#include <ctime>
#include <string>
#include <vector>
// Local includes
#include <utils/RgbColor.h>
// Forward class declarations
namespace Json { class Value; }
2013-09-06 21:26:58 +02:00
///
/// The Led structure contains the definition of the image portion used to determine a single led's
/// color.
/// <pre>
/// |--------------------image--|
/// | minX maxX |
/// | |-----|minY |
/// | | | |
/// | |-----|maxY |
/// | |
/// | |
/// | |
/// |---------------------------|
/// <endpre>
///
struct Led
{
2013-09-06 21:26:58 +02:00
/// The index of the led
unsigned index;
2013-09-06 21:26:58 +02:00
/// The minimum vertical scan line included for this leds color
double minX_frac;
2013-09-06 21:26:58 +02:00
/// The maximum vertical scan line included for this leds color
double maxX_frac;
2013-09-06 21:26:58 +02:00
/// The minimum horizontal scan line included for this leds color
double minY_frac;
2013-09-06 21:26:58 +02:00
/// The maximum horizontal scan line included for this leds color
double maxY_frac;
};
2013-09-06 21:26:58 +02:00
///
/// The LedString contains the image integration information of the leds
///
class LedString
{
public:
2013-09-06 21:26:58 +02:00
///
/// Constructs the LedString with no leds
///
LedString();
2013-09-06 21:26:58 +02:00
///
/// Destructor of this LedString
///
~LedString();
2013-09-06 21:26:58 +02:00
///
/// Returns the led specifications
///
/// @return The list with led specifications
///
std::vector<Led>& leds();
2013-09-06 21:26:58 +02:00
///
/// Returns the led specifications
///
/// @return The list with led specifications
///
const std::vector<Led>& leds() const;
private:
2013-09-06 21:26:58 +02:00
/// The list with led specifications
std::vector<Led> mLeds;
};