SLAM
renderarea.h
1 #ifndef RENDERAREA_H
2 #define RENDERAREA_H
3 
4 #include <QWidget>
5 #include <QPen>
6 #include <QPointF>
7 
8 #include "datastructures.h"
9 
13 class RenderArea : public QWidget
14 {
15  Q_OBJECT
16 
17 signals:
18  void updated();
19  void statistisUpdate();
20 
21 public slots:
22  void setPen(const QPen &pen);
23  void setBrush(const QBrush &brush);
24  void setAntialiased(bool antialiased);
25  void setTransformed(bool transformed);
26  void setShowCorners(bool show);
27  void setShowLines(bool show);
28  void setShowIntersections(bool show);
29  void zoomIn();
30  void zoomOut();
31 
32 public:
33  RenderArea(QWidget *parent = 0);
34 
35  void setData(area_t *area, bool reset);
36  void setData(area_t *area, area_t *area_sec, bool reset);
37  void setData(QPointF *points, int pointCount, bool reset);
38  void setLandmarks(arma::mat landmarkPositions, landmark_t **land, int count);
39  void setRobotPosition(robotPosition_t *position);
40  qreal getZoom();
41  QPointF getTranslated();
42 
43 protected:
44  void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
45  void paintNormal();
46  void resetSettings();
47  void keyPressEvent(QKeyEvent *event);
48  void mousePressEvent(QMouseEvent *event);
49  void mouseMoveEvent(QMouseEvent *event);
50  void mouseReleaseEvent(QMouseEvent *);
51 
52 private:
53  QPen pen;
54  QPen penSecond;
55  QPen robotPen;
56  QPen cornerPen;
57  QPen linePen;
58  QBrush brush;
59  bool antialiased;
60  bool transformed;
61  bool mousePressed;
62  bool showCorners;
63  bool showLines;
64  bool showIntersections;
65  QPoint mousePlace;
66  QPointF translateArea;
67  QPixmap pixmap;
68  area_t *area;
69  area_t *area_sec;
70  qreal zoom;
71  robotPosition_t *position;
72  int landmarkCount;
73  QPointF *landmarks;
74  qreal *circle;
75 
76 };
77 
78 #endif // RENDERAREA_H
void zoomOut()
Oddálení vykreslování.
Definition: renderarea.cpp:381
void setPen(const QPen &pen)
Nastavení pera pro vykreslování bodů.
Definition: renderarea.cpp:63
void setShowIntersections(bool show)
Nastavení zobrazování průsečíků hran.
Definition: renderarea.cpp:115
Hlavní struktura aplikace. V této struktůře jsou uložena všechna naměřená data a představuje jednu ot...
Definition: datastructures.h:71
void zoomIn()
Přibližení vykreslování.
Definition: renderarea.cpp:371
qreal getZoom()
Vrací hodnotu přibližení.
Definition: renderarea.cpp:363
void keyPressEvent(QKeyEvent *event)
Event key press, teď nepoužito.
Definition: renderarea.cpp:295
void setShowCorners(bool show)
Nastavení zobrazení rohů.
Definition: renderarea.cpp:95
Vykreslovací oblast. Zde se vykreslují všechny výsledky, jak už mapy nebo samostatné oblasti...
Definition: renderarea.h:13
void paintNormal()
Vykreslení všech nastavených dat. Vykreslování se provádí mezi painter.save() a painter.restore().
Definition: renderarea.cpp:210
Struktura k ukládání důležitých objektů jako rohy a hrany.
Definition: datastructures.h:152
void setRobotPosition(robotPosition_t *position)
Nastavení cesty robota, která se má vykreslit.
Definition: renderarea.cpp:192
QPointF getTranslated()
Vrací hodnotu posunutí vykreslovací oblasti.
Definition: renderarea.cpp:353
void setBrush(const QBrush &brush)
Nastavení brushe pro vybarvování.
Definition: renderarea.cpp:73
void setShowLines(bool show)
Nastavení zobrazování hran.
Definition: renderarea.cpp:105
void setLandmarks(arma::mat landmarkPositions, landmark_t **land, int count)
Nastavení důležitých objektů, které se mají vykreslit.
Definition: renderarea.cpp:173
Struktura k ukládáná pozice robota. Aktuální pozice je vždy [0, 0].
Definition: datastructures.h:121
RenderArea(QWidget *parent=0)
Inicializace kreslicí plochy, nastavení barev a reset nastavení.
Definition: renderarea.cpp:12
void resetSettings()
Reset nastavení jako posunutí vykreslovací oblasti a zoomování.
Definition: renderarea.cpp:283
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE
Tento event se volá při každém překreslení.
Definition: renderarea.cpp:200
void mousePressEvent(QMouseEvent *event)
Event na mouse press.
Definition: renderarea.cpp:314
void setData(area_t *area, bool reset)
Nastavení oblasti, která se má vykreslit.
Definition: renderarea.cpp:126
void mouseReleaseEvent(QMouseEvent *)
Event na mouse release.
Definition: renderarea.cpp:342
void mouseMoveEvent(QMouseEvent *event)
Event na mouse move (posunutí vykreslovací oblasti).
Definition: renderarea.cpp:326