LARS
LARS (Light Augmented Reality System) is an open-source framework for light-based interaction and real-time tracking in multi-robot experiments. Inspired by ARK, LARS extends the augmented reality paradigm to robotic collectives by projecting dynamic visual cues and environments onto the arena, enabling new experimental possibilities for collective robotics research, education, and outreach. LARS features integrated tracking, light projection, and modular experiment control with a user-friendly Qt GUI.
Loading...
Searching...
No Matches
QCPLabelPainterPrivate Class Reference

Classes

struct  CachedLabel
struct  LabelData

Public Types

enum  AnchorMode { amRectangular , amSkewedUpright , amSkewedRotated }
enum  AnchorReferenceType { artNormal , artTangent }
enum  AnchorSide {
  asLeft , asRight , asTop , asBottom ,
  asTopLeft , asTopRight , asBottomRight , asBottomLeft
}

Public Member Functions

 QCPLabelPainterPrivate (QCustomPlot *parentPlot)
void setAnchorSide (AnchorSide side)
void setAnchorMode (AnchorMode mode)
void setAnchorReference (const QPointF &pixelPoint)
void setAnchorReferenceType (AnchorReferenceType type)
void setFont (const QFont &font)
void setColor (const QColor &color)
void setPadding (int padding)
void setRotation (double rotation)
void setSubstituteExponent (bool enabled)
void setMultiplicationSymbol (QChar symbol)
void setAbbreviateDecimalPowers (bool enabled)
void setCacheSize (int labelCount)
AnchorMode anchorMode () const
AnchorSide anchorSide () const
QPointF anchorReference () const
AnchorReferenceType anchorReferenceType () const
QFont font () const
QColor color () const
int padding () const
double rotation () const
bool substituteExponent () const
QChar multiplicationSymbol () const
bool abbreviateDecimalPowers () const
int cacheSize () const
void drawTickLabel (QCPPainter *painter, const QPointF &tickPos, const QString &text)
void clearCache ()

Static Public Attributes

static const QChar SymbolDot
static const QChar SymbolCross

Protected Member Functions

virtual void drawLabelMaybeCached (QCPPainter *painter, const QFont &font, const QColor &color, const QPointF &pos, AnchorSide side, double rotation, const QString &text)
virtual QByteArray generateLabelParameterHash () const
QPointF getAnchorPos (const QPointF &tickPos)
void drawText (QCPPainter *painter, const QPointF &pos, const LabelData &labelData) const
LabelData getTickLabelData (const QFont &font, const QColor &color, double rotation, AnchorSide side, const QString &text) const
void applyAnchorTransform (LabelData &labelData) const
CachedLabelcreateCachedLabel (const LabelData &labelData) const
QByteArray cacheKey (const QString &text, const QColor &color, double rotation, AnchorSide side) const
AnchorSide skewedAnchorSide (const QPointF &tickPos, double sideExpandHorz, double sideExpandVert) const
AnchorSide rotationCorrectedSide (AnchorSide side, double rotation) const
void analyzeFontMetrics ()

Protected Attributes

AnchorMode mAnchorMode
AnchorSide mAnchorSide
QPointF mAnchorReference
AnchorReferenceType mAnchorReferenceType
QFont mFont
QColor mColor
int mPadding
double mRotation
bool mSubstituteExponent
QChar mMultiplicationSymbol
bool mAbbreviateDecimalPowers
QCustomPlotmParentPlot
QByteArray mLabelParameterHash
QCache< QString, CachedLabelmLabelCache
QRect mAxisSelectionBox
QRect mTickLabelsSelectionBox
QRect mLabelSelectionBox
int mLetterCapHeight
int mLetterDescent

Member Enumeration Documentation

◆ AnchorMode

◆ AnchorReferenceType

◆ AnchorSide

Constructor & Destructor Documentation

◆ QCPLabelPainterPrivate()

QCPLabelPainterPrivate::QCPLabelPainterPrivate ( QCustomPlot * parentPlot)
explicit

Constructs a QCPLabelPainterPrivate instance. Make sure to not create a new instance on every redraw, to utilize the caching mechanisms.

the parentPlot does not take ownership of the label painter. Make sure to delete it appropriately.


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