|
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.
|
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 |
| CachedLabel * | createCachedLabel (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 |
| QCustomPlot * | mParentPlot |
| QByteArray | mLabelParameterHash |
| QCache< QString, CachedLabel > | mLabelCache |
| QRect | mAxisSelectionBox |
| QRect | mTickLabelsSelectionBox |
| QRect | mLabelSelectionBox |
| int | mLetterCapHeight |
| int | mLetterDescent |
TODO
TODO
|
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.