|
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.
|
Functions | |
| bool | isInvalidData (double value) |
| bool | isInvalidData (double value1, double value2) |
| void | setMarginValue (QMargins &margins, QCP::MarginSide side, int value) |
| int | getMarginValue (const QMargins &margins, QCP::MarginSide side) |
Variables | |
| const QMetaObject | staticMetaObject |
The QCP Namespace contains general enums, QFlags and functions used throughout the QCustomPlot library.
It provides QMetaObject-based reflection of its enums and flags via QCP::staticMetaObject.
Defines what objects of a plot can be forcibly drawn antialiased/not antialiased. If an object is neither forcibly drawn antialiased nor forcibly drawn not antialiased, it is up to the respective element how it is drawn. Typically it provides a setAntialiased function for this.
AntialiasedElements is a flag of or-combined elements of this enum type.
| Enumerator | |
|---|---|
| aeAxes | 0x0001 Axis base line and tick marks |
| aeGrid | 0x0002 Grid lines |
| aeSubGrid | 0x0004 Sub grid lines |
| aeLegend | 0x0008 Legend box |
| aeLegendItems | 0x0010 Legend items |
| aePlottables | 0x0020 Main lines of plottables |
| aeItems | 0x0040 Main lines of items |
| aeScatters | 0x0080 Scatter symbols of plottables (excluding scatter symbols of type ssPixmap) |
| aeFills | 0x0100 Borders of fills (e.g. under or between graphs) |
| aeZeroLine | 0x0200 Zero-lines, see QCPGrid::setZeroLinePen |
| aeOther | 0x8000 Other elements that don't fit into any of the existing categories |
| aeAll | 0xFFFF All elements |
| aeNone | 0x0000 No elements |
| enum QCP::ExportPen |
Defines how cosmetic pens (pens with numerical width 0) are handled during export.
| enum QCP::Interaction |
Defines the mouse interactions possible with QCustomPlot.
Interactions is a flag of or-combined elements of this enum type.
| Enumerator | |
|---|---|
| iNone | 0x000 None of the interactions are possible |
| iRangeDrag | 0x001 Axis ranges are draggable (see QCPAxisRect::setRangeDrag, QCPAxisRect::setRangeDragAxes) |
| iRangeZoom | 0x002 Axis ranges are zoomable with the mouse wheel (see QCPAxisRect::setRangeZoom, QCPAxisRect::setRangeZoomAxes) |
| iMultiSelect | 0x004 The user can select multiple objects by holding the modifier set by QCustomPlot::setMultiSelectModifier while clicking |
| iSelectPlottables | 0x008 Plottables are selectable (e.g. graphs, curves, bars,... see QCPAbstractPlottable) |
| iSelectAxes | 0x010 Axes are selectable (or parts of them, see QCPAxis::setSelectableParts) |
| iSelectLegend | 0x020 Legends are selectable (or their child items, see QCPLegend::setSelectableParts) |
| iSelectItems | 0x040 Items are selectable (Rectangles, Arrows, Textitems, etc. see QCPAbstractItem) |
| iSelectOther | 0x080 All other objects are selectable (e.g. your own derived layerables, other layout elements,...) |
| iSelectPlottablesBeyondAxisRect | 0x100 When performing plottable selection/hit tests, this flag extends the sensitive area beyond the axis rect |
| enum QCP::MarginSide |
| enum QCP::PlottingHint |
Defines plotting hints that control various aspects of the quality and speed of plotting.
| Enumerator | |
|---|---|
| phNone | 0x000 No hints are set |
| phFastPolylines | 0x001 Graph/Curve lines are drawn with a faster method. This reduces the quality especially of the line segment joins, thus is most effective for pen sizes larger than 1. It is only used for solid line pens. |
| phImmediateRefresh | 0x002 causes an immediate repaint() instead of a soft update() when QCustomPlot::replot() is called with parameter QCustomPlot::rpRefreshHint. This is set by default to prevent the plot from freezing on fast consecutive replots (e.g. user drags ranges with mouse). |
| phCacheLabels | 0x004 axis (tick) labels will be cached as pixmaps, increasing replot performance. |
| enum QCP::ResolutionUnit |
Defines the behaviour of the selection rect.
| Enumerator | |
|---|---|
| srmNone | The selection rect is disabled, and all mouse events are forwarded to the underlying objects, e.g. for axis range dragging. |
| srmZoom | When dragging the mouse, a selection rect becomes active. Upon releasing, the axes that are currently set as range zoom axes (QCPAxisRect::setRangeZoomAxes) will have their ranges zoomed accordingly. |
| srmSelect | When dragging the mouse, a selection rect becomes active. Upon releasing, plottable data points that were within the selection rect are selected, if the plottable's selectability setting permits. (See data selection mechanism for details.) |
| srmCustom | When dragging the mouse, a selection rect becomes active. It is the programmer's responsibility to connect according slots to the selection rect's signals (e.g. QCPSelectionRect::accepted) in order to process the user interaction. |
| enum QCP::SelectionType |
Defines the different ways a plottable can be selected. These images show the effect of the different selection types, when the indicated selection rect was dragged:
stNone |
stWhole |
stSingleData |
stDataRange |
stMultipleDataRanges |
| Enumerator | |
|---|---|
| stNone | The plottable is not selectable. |
| stWhole | Selection behaves like stMultipleDataRanges, but if there are any data points selected, the entire plottable is drawn as selected. |
| stSingleData | One individual data point can be selected at a time. |
| stDataRange | Multiple contiguous data points (a data range) can be selected. |
| stMultipleDataRanges | Any combination of data points/ranges can be selected. |
| enum QCP::SignDomain |
Represents negative and positive sign domain, e.g. for passing to QCPAbstractPlottable::getKeyRange and QCPAbstractPlottable::getValueRange.
This is primarily needed when working with logarithmic axis scales, since only one of the sign domains can be visible at a time.