UPlot.h
Go to the documentation of this file.
1 /*
2 * utilite is a cross-platform library with
3 * useful utilities for fast and small developing.
4 * Copyright (C) 2010 Mathieu Labbe
5 *
6 * utilite is free library: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * utilite is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef UPLOT_H_
21 #define UPLOT_H_
22 
23 #include "rtabmap/gui/rtabmap_gui_export.h" // DLL export/import defines
24 
25 #include <QFrame>
26 #include <QtCore/QList>
27 #include <QtCore/QMap>
28 #include <QtGui/QPen>
29 #include <QtGui/QBrush>
30 #include <QGraphicsEllipseItem>
31 #include <QtCore/QMutex>
32 #include <QLabel>
33 #include <QPushButton>
34 #include <QtCore/QTime>
35 #include <QtCore/QElapsedTimer>
36 
37 class QGraphicsView;
38 class QGraphicsScene;
39 class QGraphicsItem;
40 class QFormLayout;
41 class QScrollArea;
42 
47 class RTABMAP_GUI_EXPORT UPlotItem : public QGraphicsEllipseItem
48 {
49 public:
53  UPlotItem(qreal dataX, qreal dataY, qreal width=2);
57  UPlotItem(const QPointF & data, qreal width=2);
58  virtual ~UPlotItem();
59 
60 public:
61  void setNextItem(UPlotItem * nextItem);
62  void setPreviousItem(UPlotItem * previousItem);
63  void setData(const QPointF & data);
64 
65  UPlotItem * nextItem() const {return _nextItem;}
66  UPlotItem * previousItem() const {return _previousItem;};
67  const QPointF & data() const {return _data;}
68 
69 protected:
70  virtual void hoverEnterEvent(QGraphicsSceneHoverEvent * event);
71  virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent * event);
72  virtual void focusInEvent(QFocusEvent * event);
73  virtual void focusOutEvent(QFocusEvent * event);
74  virtual void keyReleaseEvent(QKeyEvent * keyEvent);
75 
76  virtual void showDescription(bool shown);
77 private:
78  void init(qreal dataX, qreal dataY);
79 
80 private:
81  QPointF _data;
84  QGraphicsTextItem * _text;
85  QGraphicsRectItem * _textBackground;
86 };
87 
88 class UPlot;
89 
93 class RTABMAP_GUI_EXPORT UPlotCurve : public QObject
94 {
95  Q_OBJECT
96 
97 public:
101  UPlotCurve(const QString & name, QObject * parent = 0);
105  UPlotCurve(const QString & name, const QVector<UPlotItem *> data, QObject * parent = 0);
109  UPlotCurve(const QString & name, const QVector<qreal> & x, const QVector<qreal> & y, QObject * parent = 0);
110  virtual ~UPlotCurve();
111 
115  const QPen & pen() const {return _pen;}
119  const QBrush & brush() const {return _brush;}
120 
124  void setPen(const QPen & pen);
128  void setBrush(const QBrush & brush);
129 
130  void setItemsColor(const QColor & color);
131  QColor itemsColor() const {return _itemsColor;}
132 
136  QString name() const {return _name;}
140  int itemsSize() const;
141  QPointF getItemData(int index);
142  bool isVisible() const {return _visible;}
143  void setData(QVector<UPlotItem*> & data); // take the ownership
144  void getData(QVector<qreal> & x, QVector<qreal> & y) const; // only call in Qt MainThread
145  void getData(QMap<qreal,qreal> & data) const; // only call in Qt MainThread
146  void draw(QPainter * painter, const QRect & limits);
147 
148 public Q_SLOTS:
153  virtual void clear();
158  void setVisible(bool visible);
163  void setXIncrement(qreal increment);
168  void setXStart(qreal val);
173  void addValue(UPlotItem * data); // take the ownership
179  void addValue(qreal y);
184  void addValue(qreal x, qreal y);
191  void addValue(const QString & y);
197  void addValues(QVector<UPlotItem *> & data); // take the ownership
202  void addValues(const QVector<qreal> & xs, const QVector<qreal> & ys);
208  void addValues(const QVector<qreal> & ys);
209  void addValues(const QVector<int> & ys); // for convenience
215  void addValues(const std::vector<qreal> & ys); // for convenience
216  void addValues(const std::vector<int> & ys); // for convenience
217 
218  void setData(const QVector<qreal> & x, const QVector<qreal> & y);
219  void setData(const std::vector<qreal> & x, const std::vector<qreal> & y);
220  void setData(const QVector<qreal> & y);
221  void setData(const std::vector<qreal> & y);
222 
223 Q_SIGNALS:
228  void dataChanged(const UPlotCurve *);
229 
230 protected:
231  friend class UPlot;
232  void attach(UPlot * plot);
233  void detach(UPlot * plot);
234  void updateMinMax();
235  const QVector<qreal> & getMinMax() const {return _minMax;}
236  int removeItem(int index);
237  void _addValue(UPlotItem * data);;
238  virtual bool isMinMaxValid() const {return _minMax.size();}
239  virtual void update(qreal scaleX, qreal scaleY, qreal offsetX, qreal offsetY, qreal xDir, qreal yDir, int maxItemsKept);
240  QList<QGraphicsItem *> _items;
242 
243 private:
244  void removeItem(UPlotItem * item);
245 
246 private:
247  QString _name;
248  QPen _pen;
249  QBrush _brush;
250  qreal _xIncrement;
251  qreal _xStart;
252  bool _visible;
254  QVector<qreal> _minMax; // minX, maxX, minY, maxY
255  QGraphicsRectItem * _rootItem;
256  QColor _itemsColor;
257 };
258 
259 
263 class RTABMAP_GUI_EXPORT UPlotCurveThreshold : public UPlotCurve
264 {
265  Q_OBJECT
266 
267 public:
271  UPlotCurveThreshold(const QString & name, qreal thesholdValue, Qt::Orientation orientation = Qt::Horizontal, QObject * parent = 0);
272  virtual ~UPlotCurveThreshold();
273  qreal getThreshold() const {return _threshold;}
274 
275 public Q_SLOTS:
279  void setThreshold(qreal threshold);
283  void setOrientation(Qt::Orientation orientation);
284 
285 protected:
286  friend class UPlot;
287  virtual void update(qreal scaleX, qreal scaleY, qreal offsetX, qreal offsetY, qreal xDir, qreal yDir, int maxItemsKept);
288  virtual bool isMinMaxValid() const {return false;}
289 
290 private:
291  Qt::Orientation _orientation;
292  qreal _threshold;
293 };
294 
298 class RTABMAP_GUI_EXPORT UPlotAxis : public QWidget
299 {
300 public:
304  UPlotAxis(Qt::Orientation orientation = Qt::Horizontal, qreal min=0, qreal max=1, QWidget * parent = 0);
305  virtual ~UPlotAxis();
306 
307 public:
312  void setAxis(qreal & min, qreal & max);
316  int border() const {return _border;}
320  int step() const {return _step;}
324  int count() const {return _count;}
328  void setReversed(bool reversed); // Vertical :bottom->up, horizontal :right->left
329 
330 protected:
331  virtual void paintEvent(QPaintEvent * event);
332 
333 private:
334  Qt::Orientation _orientation;
335  qreal _min;
336  qreal _max;
337  int _count;
338  int _step;
339  bool _reversed;
341  int _border;
342 };
343 
344 
348 class RTABMAP_GUI_EXPORT UPlotLegendItem : public QPushButton
349 {
350  Q_OBJECT
351 
352 public:
356  UPlotLegendItem(UPlotCurve * curve, QWidget * parent = 0);
357  virtual ~UPlotLegendItem();
358  const UPlotCurve * curve() const {return _curve;}
359  QPixmap createSymbol(const QPen & pen, const QBrush & brush);
360  void showStdDevMeanMax(bool shown);
361 
362 Q_SIGNALS:
363  void legendItemRemoved(const UPlotCurve *);
364  void moveUpRequest(UPlotLegendItem *);
365  void moveDownRequest(UPlotLegendItem *);
366 
367 private Q_SLOTS:
368  void updateStdDevMeanMax();
369 
370 protected:
371  virtual void contextMenuEvent(QContextMenuEvent * event);
372 
373 private:
375  QMenu * _menu;
376  QAction * _aChangeText;
377  QAction * _aResetText;
378  QAction * _aChangeColor;
379  QAction * _aCopyToClipboard;
381  QAction * _aRemoveCurve;
382  QAction * _aMoveUp;
383  QAction * _aMoveDown;
384 };
385 
389 class RTABMAP_GUI_EXPORT UPlotLegend : public QWidget
390 {
391  Q_OBJECT
392 
393 public:
397  UPlotLegend(QWidget * parent = 0);
398  virtual ~UPlotLegend();
399 
400  void setFlat(bool on);
401  bool isFlat() const {return _flat;}
402  void addItem(UPlotCurve * curve);
403  bool remove(const UPlotCurve * curve);
404  QString getAllCurveDataAsText() const;
405 
406 private Q_SLOTS:
407  void removeLegendItem(const UPlotCurve * curve);
408  void moveUp(UPlotLegendItem * item);
409  void moveDown(UPlotLegendItem * item);
410 
411 Q_SIGNALS:
412  void legendItemRemoved(const UPlotCurve * curve);
413  void legendItemToggled(const UPlotCurve * curve, bool toggled);
414  void legendItemMoved(const UPlotCurve * curve, int);
415 
416 protected:
417  virtual void contextMenuEvent(QContextMenuEvent * event);
418 
419 private Q_SLOTS:
420  void redirectToggled(bool);
421 
422 private:
423  bool _flat;
424  QMenu * _menu;
425  QAction * _aUseFlatButtons;
428  QLayout * _contentLayout;
429  QScrollArea * _scrollArea;
430 };
431 
432 
436 class RTABMAP_GUI_EXPORT UOrientableLabel : public QLabel
437 {
438  Q_OBJECT
439 
440 public:
444  UOrientableLabel(const QString & text, Qt::Orientation orientation = Qt::Horizontal, QWidget * parent = 0);
445  virtual ~UOrientableLabel();
449  Qt::Orientation orientation() const {return _orientation;}
453  void setOrientation(Qt::Orientation orientation);
454  QSize sizeHint() const;
455  QSize minimumSizeHint() const;
456 protected:
457  virtual void paintEvent(QPaintEvent* event);
458 private:
459  Qt::Orientation _orientation;
460 };
461 
492 class RTABMAP_GUI_EXPORT UPlot : public QWidget
493 {
494  Q_OBJECT
495 
496 public:
500  UPlot(QWidget * parent = 0);
501  virtual ~UPlot();
502 
506  UPlotCurve * addCurve(const QString & curveName, const QColor & color = QColor());
510  bool addCurve(UPlotCurve * curve, bool ownershipTransferred = true);
514  QStringList curveNames() const;
515  bool contains(const QString & curveName) const;
516  bool isThreshold(const QString & curveName) const;
517  double getThresholdValue(const QString & curveName) const;
518  void removeCurves();
519  QString getAllCurveDataAsText() const;
523  UPlotCurveThreshold * addThreshold(const QString & name, qreal value, Qt::Orientation orientation = Qt::Horizontal);
524  QString title() const {return this->objectName();}
525  QPen getRandomPenColored();
526  void showLegend(bool shown);
527  void showGrid(bool shown);
528  void showRefreshRate(bool shown);
529  void trackMouse(bool tracking);
530  void keepAllData(bool kept);
531  void showXAxis(bool shown) {_horizontalAxis->setVisible(shown);}
532  void showYAxis(bool shown) {_verticalAxis->setVisible(shown);}
533  void setVariableXAxis() {_fixedAxis[0] = false;}
534  void setVariableYAxis() {_fixedAxis[1] = false;}
535  void setFixedXAxis(qreal x1, qreal x2);
536  void setFixedYAxis(qreal y1, qreal y2);
537  void setMaxVisibleItems(int maxVisibleItems);
538  void setTitle(const QString & text);
539  void setXLabel(const QString & text);
540  void setYLabel(const QString & text, Qt::Orientation orientation = Qt::Vertical);
541  void setWorkingDirectory(const QString & workingDirectory);
542  void setGraphicsView(bool on);
543  void setBackgroundColor(const QColor & color);
544  QRectF sceneRect() const;
545 
546 public Q_SLOTS:
551  void removeCurve(const UPlotCurve * curve);
552  void showCurve(const UPlotCurve * curve, bool shown);
553  void updateAxis(); //reset axis and recompute it with all curves minMax
558  void clearData();
559 
560  void frameData(bool xAxis = true, bool yAxis = false);
561 
562 private Q_SLOTS:
563  void captureScreen();
564  void updateAxis(const UPlotCurve * curve);
565  void moveCurve(const UPlotCurve *, int index);
566 
567 protected:
568  virtual void contextMenuEvent(QContextMenuEvent * event);
569  virtual void paintEvent(QPaintEvent * event);
570  virtual void resizeEvent(QResizeEvent * event);
571  virtual void mousePressEvent(QMouseEvent * event);
572  virtual void mouseMoveEvent(QMouseEvent * event);
573  virtual void mouseReleaseEvent(QMouseEvent * event);
574  virtual void mouseDoubleClickEvent(QMouseEvent * event);
575 
576 private:
577  friend class UPlotCurve;
578  void addItem(QGraphicsItem * item);
579 
580 private:
581  void replot(QPainter * painter);
582  bool updateAxis(qreal x, qreal y);
583  bool updateAxis(qreal x1, qreal x2, qreal y1, qreal y2);
584  void setupUi();
585  void createActions();
586  void createMenus();
587  void selectScreenCaptureFormat();
588  bool mousePosToValue(const QPoint & pos, qreal & x, qreal & y);
589 
590 private:
592  QGraphicsView * _view;
593  QGraphicsItem * _sceneRoot;
595  qreal _axisMaximums[4]; // {x1->x2, y1->y2}
596  bool _axisMaximumsSet[4]; // {x1->x2, y1->y2}
597  bool _fixedAxis[2];
602  QList<QGraphicsLineItem *> hGridLines;
603  QList<QGraphicsLineItem *> vGridLines;
604  QList<UPlotCurve*> _curves;
605  QLabel * _title;
606  QLabel * _xLabel;
608  QLabel * _refreshRate;
610  QElapsedTimer _refreshIntervalTime;
612  QElapsedTimer _refreshStartTime;
616  QColor _bgColor;
617 
618  QMenu * _menu;
619  QAction * _aShowLegend;
620  QAction * _aShowGrid;
621  QAction * _aKeepAllData;
622  QAction * _aLimit0;
623  QAction * _aLimit10;
624  QAction * _aLimit50;
625  QAction * _aLimit100;
626  QAction * _aLimit500;
627  QAction * _aLimit1000;
628  QAction * _aLimitCustom;
629  QAction * _aAddVerticalLine;
631  QAction * _aChangeTitle;
632  QAction * _aChangeXLabel;
633  QAction * _aChangeYLabel;
635  QAction * _aYLabelVertical;
636  QAction * _aShowRefreshRate;
637  QAction * _aMouseTracking;
638  QAction * _aSaveFigure;
640  QAction * _aClearData;
641  QAction * _aGraphicsView;
642 };
643 
644 #endif /* UPLOT_H_ */
UPlotLegend::_flat
bool _flat
Definition: UPlot.h:423
glm::min
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
UPlotItem::_data
QPointF _data
Definition: UPlot.h:81
UPlot::_curves
QList< UPlotCurve * > _curves
Definition: UPlot.h:604
UOrientableLabel::_orientation
Qt::Orientation _orientation
Definition: UPlot.h:459
UPlotLegend
Definition: UPlot.h:389
update
def update(text)
UPlotCurve::_minMax
QVector< qreal > _minMax
Definition: UPlot.h:254
name
UPlotCurve::_name
QString _name
Definition: UPlot.h:247
UPlotItem
Definition: UPlot.h:47
UPlotAxis::border
int border() const
Definition: UPlot.h:316
UPlot::_aKeepAllData
QAction * _aKeepAllData
Definition: UPlot.h:621
UPlotLegendItem::_aMoveUp
QAction * _aMoveUp
Definition: UPlot.h:382
UPlotLegendItem
Definition: UPlot.h:348
UPlot::_aClearData
QAction * _aClearData
Definition: UPlot.h:640
UPlotLegendItem::curve
const UPlotCurve * curve() const
Definition: UPlot.h:358
UPlot::_sceneRoot
QGraphicsItem * _sceneRoot
Definition: UPlot.h:593
UPlotCurve::_xStart
qreal _xStart
Definition: UPlot.h:251
UPlotCurve::pen
const QPen & pen() const
Definition: UPlot.h:115
UPlotItem::_textBackground
QGraphicsRectItem * _textBackground
Definition: UPlot.h:85
UPlotItem::nextItem
UPlotItem * nextItem() const
Definition: UPlot.h:65
UPlot::_bgColor
QColor _bgColor
Definition: UPlot.h:616
UPlot::_xLabel
QLabel * _xLabel
Definition: UPlot.h:606
Horizontal
Horizontal
UPlotCurve::_visible
bool _visible
Definition: UPlot.h:252
UPlotLegendItem::_aMoveDown
QAction * _aMoveDown
Definition: UPlot.h:383
UPlotLegendItem::_aResetText
QAction * _aResetText
Definition: UPlot.h:377
UPlot::_aChangeYLabel
QAction * _aChangeYLabel
Definition: UPlot.h:633
UPlot::_refreshRate
QLabel * _refreshRate
Definition: UPlot.h:608
UPlot::_verticalAxis
UPlotAxis * _verticalAxis
Definition: UPlot.h:598
UPlot::_aGraphicsView
QAction * _aGraphicsView
Definition: UPlot.h:641
UPlotCurve::getMinMax
const QVector< qreal > & getMinMax() const
Definition: UPlot.h:235
UPlot::_graphicsViewHolder
QWidget * _graphicsViewHolder
Definition: UPlot.h:594
UPlot::showYAxis
void showYAxis(bool shown)
Definition: UPlot.h:532
y
Matrix3f y
UPlotCurve::name
QString name() const
Definition: UPlot.h:136
UPlot::_aAddVerticalLine
QAction * _aAddVerticalLine
Definition: UPlot.h:629
UPlot::_aChangeBackgroundColor
QAction * _aChangeBackgroundColor
Definition: UPlot.h:634
UPlotCurve::isVisible
bool isVisible() const
Definition: UPlot.h:142
UPlot::_aLimit100
QAction * _aLimit100
Definition: UPlot.h:625
UPlotLegend::isFlat
bool isFlat() const
Definition: UPlot.h:401
UPlot::_aMouseTracking
QAction * _aMouseTracking
Definition: UPlot.h:637
UPlotItem::_nextItem
UPlotItem * _nextItem
Definition: UPlot.h:83
UPlot::_horizontalAxis
UPlotAxis * _horizontalAxis
Definition: UPlot.h:599
UPlotAxis::step
int step() const
Definition: UPlot.h:320
UPlot::_aShowRefreshRate
QAction * _aShowRefreshRate
Definition: UPlot.h:636
UPlot::_aShowGrid
QAction * _aShowGrid
Definition: UPlot.h:620
UPlot::setVariableYAxis
void setVariableYAxis()
Definition: UPlot.h:534
UPlotAxis::count
int count() const
Definition: UPlot.h:324
UPlot::_aLimitCustom
QAction * _aLimitCustom
Definition: UPlot.h:628
data
int data[]
UPlotCurve::update
virtual void update(qreal scaleX, qreal scaleY, qreal offsetX, qreal offsetY, qreal xDir, qreal yDir, int maxItemsKept)
Definition: UPlot.cpp:691
UPlotCurveThreshold
Definition: UPlot.h:263
UPlotLegend::_aCopyAllCurvesToClipboard
QAction * _aCopyAllCurvesToClipboard
Definition: UPlot.h:426
UPlot::_yLabel
UOrientableLabel * _yLabel
Definition: UPlot.h:607
UPlotAxis::_count
int _count
Definition: UPlot.h:337
UPlotCurveThreshold::_threshold
qreal _threshold
Definition: UPlot.h:292
UPlotItem::data
const QPointF & data() const
Definition: UPlot.h:67
UPlotCurve::_items
QList< QGraphicsItem * > _items
Definition: UPlot.h:240
UOrientableLabel
Definition: UPlot.h:436
UPlotAxis::_step
int _step
Definition: UPlot.h:338
UPlot::_aAddHorizontalLine
QAction * _aAddHorizontalLine
Definition: UPlot.h:630
UPlotCurve::_plot
UPlot * _plot
Definition: UPlot.h:241
UPlotCurveThreshold::_orientation
Qt::Orientation _orientation
Definition: UPlot.h:291
rtflann::addValue
void addValue(int pos, float val, float *vals, T *point, T *points, int n)
Definition: simplex_downhill.h:69
UPlotAxis::_reversed
bool _reversed
Definition: UPlot.h:339
UPlotCurve::_brush
QBrush _brush
Definition: UPlot.h:249
glm::max
GLM_FUNC_DECL genType max(genType const &x, genType const &y)
UPlot::_workingDirectory
QString _workingDirectory
Definition: UPlot.h:609
UPlotAxis::_orientation
Qt::Orientation _orientation
Definition: UPlot.h:334
UPlot::_mouseCurrentPos
QPoint _mouseCurrentPos
Definition: UPlot.h:615
UPlot::_mousePressedPos
QPoint _mousePressedPos
Definition: UPlot.h:614
glm::orientation
GLM_FUNC_DECL detail::tmat4x4< T, P > orientation(detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
contains
bool contains(const M &m, const typename M::key_type &k)
UPlot::_aLimit10
QAction * _aLimit10
Definition: UPlot.h:623
x
x
UPlotLegendItem::_aRemoveCurve
QAction * _aRemoveCurve
Definition: UPlot.h:381
UPlotLegend::_aShowAllStdDevMeanMax
QAction * _aShowAllStdDevMeanMax
Definition: UPlot.h:427
UPlotCurve::brush
const QBrush & brush() const
Definition: UPlot.h:119
Vertical
Vertical
UPlot::_legend
UPlotLegend * _legend
Definition: UPlot.h:591
UPlotLegend::_menu
QMenu * _menu
Definition: UPlot.h:424
UPlot::_view
QGraphicsView * _view
Definition: UPlot.h:592
UPlotCurve::_pen
QPen _pen
Definition: UPlot.h:248
UPlot::_maxVisibleItems
int _maxVisibleItems
Definition: UPlot.h:601
UPlotLegend::_scrollArea
QScrollArea * _scrollArea
Definition: UPlot.h:429
rtabmap_netvlad.init
def init(descriptorDim)
Definition: rtabmap_netvlad.py:30
UPlot::_aChangeTitle
QAction * _aChangeTitle
Definition: UPlot.h:631
UPlot::_aLimit1000
QAction * _aLimit1000
Definition: UPlot.h:627
UPlotAxis
Definition: UPlot.h:298
UPlotLegendItem::_curve
UPlotCurve * _curve
Definition: UPlot.h:374
UPlot::_refreshIntervalTime
QElapsedTimer _refreshIntervalTime
Definition: UPlot.h:610
UPlotLegend::_aUseFlatButtons
QAction * _aUseFlatButtons
Definition: UPlot.h:425
UPlotLegendItem::_aChangeColor
QAction * _aChangeColor
Definition: UPlot.h:378
UPlotCurve
Definition: UPlot.h:93
UPlot::_aYLabelVertical
QAction * _aYLabelVertical
Definition: UPlot.h:635
UPlotCurve::itemsColor
QColor itemsColor() const
Definition: UPlot.h:131
UPlot::setVariableXAxis
void setVariableXAxis()
Definition: UPlot.h:533
UPlot::_title
QLabel * _title
Definition: UPlot.h:605
UPlotItem::_previousItem
UPlotItem * _previousItem
Definition: UPlot.h:82
UPlotCurveThreshold::getThreshold
qreal getThreshold() const
Definition: UPlot.h:273
UPlotAxis::_min
qreal _min
Definition: UPlot.h:335
UPlot::showXAxis
void showXAxis(bool shown)
Definition: UPlot.h:531
UPlot::vGridLines
QList< QGraphicsLineItem * > vGridLines
Definition: UPlot.h:603
UPlot::_aChangeXLabel
QAction * _aChangeXLabel
Definition: UPlot.h:632
UOrientableLabel::orientation
Qt::Orientation orientation() const
Definition: UPlot.h:449
UPlot::hGridLines
QList< QGraphicsLineItem * > hGridLines
Definition: UPlot.h:602
UPlotCurve::isMinMaxValid
virtual bool isMinMaxValid() const
Definition: UPlot.h:238
UPlot::_menu
QMenu * _menu
Definition: UPlot.h:618
UPlot::_aLimit50
QAction * _aLimit50
Definition: UPlot.h:624
UPlot::title
QString title() const
Definition: UPlot.h:524
UPlot::_aLimit0
QAction * _aLimit0
Definition: UPlot.h:622
UPlotLegend::_contentLayout
QLayout * _contentLayout
Definition: UPlot.h:428
UPlot::_aSaveFigure
QAction * _aSaveFigure
Definition: UPlot.h:638
UPlotCurve::_itemsColor
QColor _itemsColor
Definition: UPlot.h:256
UPlotCurve::_rootItem
QGraphicsRectItem * _rootItem
Definition: UPlot.h:255
UPlot::_autoScreenCaptureFormat
QString _autoScreenCaptureFormat
Definition: UPlot.h:613
UPlotCurve::_xIncrement
qreal _xIncrement
Definition: UPlot.h:250
UPlotLegendItem::_menu
QMenu * _menu
Definition: UPlot.h:375
UPlot::_aAutoScreenCapture
QAction * _aAutoScreenCapture
Definition: UPlot.h:639
UPlotCurveThreshold::isMinMaxValid
virtual bool isMinMaxValid() const
Definition: UPlot.h:288
UPlot
Definition: UPlot.h:492
UPlot::_refreshStartTime
QElapsedTimer _refreshStartTime
Definition: UPlot.h:612
UPlotLegendItem::_aCopyToClipboard
QAction * _aCopyToClipboard
Definition: UPlot.h:379
pos
UPlot::_penStyleCount
int _penStyleCount
Definition: UPlot.h:600
UPlotItem::_text
QGraphicsTextItem * _text
Definition: UPlot.h:84
UPlotAxis::_border
int _border
Definition: UPlot.h:341
UPlotItem::previousItem
UPlotItem * previousItem() const
Definition: UPlot.h:66
UPlotLegendItem::_aChangeText
QAction * _aChangeText
Definition: UPlot.h:376
value
value
text
text
UPlot::_lowestRefreshRate
int _lowestRefreshRate
Definition: UPlot.h:611
UPlot::_aShowLegend
QAction * _aShowLegend
Definition: UPlot.h:619
UPlotLegendItem::_aShowStdDevMeanMax
QAction * _aShowStdDevMeanMax
Definition: UPlot.h:380
UPlotCurve::_valuesShown
bool _valuesShown
Definition: UPlot.h:253
UPlot::_aLimit500
QAction * _aLimit500
Definition: UPlot.h:626
UPlotAxis::_gradMaxDigits
int _gradMaxDigits
Definition: UPlot.h:340
UPlotAxis::_max
qreal _max
Definition: UPlot.h:336


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:23