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
arenaWindow.h
1#ifndef ARENAWINDOW_H
2#define ARENAWINDOW_H
3
4#include <QMainWindow>
5
6// Mohsen
7#include <QGraphicsScene>
8#include <QMouseEvent>
9#include <QGraphicsSceneMouseEvent>
10#include <QEvent>
11
12
13#include <QPainter>
14
15#include "ui/renderarea.h"
16#include "ui/worldmodel.h"
17
18#include <QGridLayout>
19
20namespace Ui {
21class ArenaWindow;
22}
23
30
31class ArenaWindow : public QMainWindow
32{
33 Q_OBJECT
34
35public:
36// explicit ArenaWindow( WorldModel *wm = nullptr);
37 explicit ArenaWindow(QWidget *parent = nullptr, WorldModel* wm = nullptr, QString title = "Arena Window");
42
43
44// void changeScreenBG(QColor color);
45 void toggleFullScreen(bool goFullScreen);
46// void changeSceneRect(QRect rect);
47// void fitSceneRect();
48// void setFromImage(QPixmap pics);
49 void toggleGrabMouse(bool isGrab);
50// void drawPoint(QPoint pnt);
51// void removePic();
52
53 RenderArea *_renderArea;
54// void paintEvent(QPaintEvent *);
55
56private slots:
57
58
59public slots:
60// void refresh();
61// void paintEvent(QPaintEvent *);
62
63private:
64 Ui::ArenaWindow *ui;
65
66 QGraphicsScene *scene;
67
68 QGridLayout *testGrid;
69
70 WorldModel* _wm;
71
72// void mouseMoveEvent(QMouseEvent *ev);
73
74 void mousePressEvent(QMouseEvent *ev);
75 void mouseMoveEvent(QMouseEvent *ev);
76 void mouseReleaseEvent(QMouseEvent *ev);
77
78// void leaveEvent(QEvent *);
79 int ms_x, ms_y;
80 bool mouseGrab = true;
81 int mouseVer = 2; // ver1: rightclick > leftclick, ver2: drag and drop
82 bool isDragged = false;
83
84
85 // User Interface
86// QBrush *brush_tmp;
87// QBrush brush_tmp2;
88
89// QBrush *brush_field ,*brush_goals, *brush_ball, *brush_yrobot,*brush_brobot,*brush_test,
90// *brush_astarNode, *brush_astarResult ,*brush_marking ,*brush_debug , *brush_pass;
91// QTimer _timer;
92
93signals:
94// void mouse_pressed();
95 void mouse_Pos();
96// void mouse_Left();
97
98 void moving(QPoint);
99 void moveDone();
100};
101
102#endif // ARENAWINDOW_H
~ArenaWindow()
Destructor for arenaWindow.
Definition arenaWindow.cpp:110
void toggleFullScreen(bool goFullScreen)
Toggles fullscreen mode for the arena window.
Definition arenaWindow.cpp:121
ArenaWindow(QWidget *parent=nullptr, WorldModel *wm=nullptr, QString title="Arena Window")
Constructs the ArenaWindow.
Definition arenaWindow.cpp:28
Definition renderarea.h:30
Definition worldmodel.h:41