RadarCanvas.hpp
Go to the documentation of this file.
1 
10 #ifndef RQT_ENGAGEMENT_RADAR__RADARCANVAS_HPP
11 #define RQT_ENGAGEMENT_RADAR__RADARCANVAS_HPP
12 
13 #include <QTimer>
14 
15 #include <QDockWidget>
16 #include <QStringList>
17 #include <QWidget>
18 #include <QtSvg/QSvgWidget>
19 #include <QtSvg/QSvgRenderer>
20 
21 #include <QPen>
22 #include <QBrush>
23 #include <QColor>
24 #include <QFont>
25 
26 #include <QImage>
27 #include <QSize>
28 
29 #include <QLine>
30 
31 #include <ros/ros.h>
32 #include <tf/transform_listener.h>
33 #include <hri/hri.h>
34 
35 #include <geometry_msgs/Vector3Stamped.h>
36 
37 namespace Ui {
38 class RadarTabs;
39 };
40 
41 namespace rqt_human_radar {
42 
43 class RadarCanvas :
44  public QWidget {
45  Q_OBJECT
46  public:
50  RadarCanvas(QWidget *parent, Ui::RadarTabs* ui);
54  virtual ~RadarCanvas();
55  public slots:
59  void updatePixelPerMeter();
66  void showId();
67 
68  protected:
74  void paintEvent(QPaintEvent *event) override;
81  void resizeEvent(QResizeEvent *event) override;
88  void mousePressEvent(QMouseEvent* event) override;
89 
90  private:
94  bool inScreen(double& x, double& y) const;
101  void updateArcsToDraw();
102 
103  QTimer *timer_;
104 
107  geometry_msgs::Vector3Stamped versor_;
108 
109  // Drawing and painting objects
110  QPen rangePen_;
113 
114  // Stores the image being drawn
115  QImage robotImage_;
118  std::map<std::string, QPolygon> peoplePosition_;
119 
120  // Svg renderer
121  QSvgRenderer svgRenderer_;
123 
125 
127 
128  Qt::CheckState showIdValue_;
129 
130  // Radar drawing components
132 
133  // New stuff to avoid using ui
134  QWidget* widget_;
135  Ui::RadarTabs* ui_;
136 
137  // ID clicked with mouse
138  std::string idClicked_;
139 
140  // Reference frame
141  std::string referenceFrame_;
142 
143 };
144 
145 } /* namespace */
146 #endif //RQT_TEMPLATE_PLUGIN_TEMPLATEWIDGET_HPP
rqt_human_radar::RadarCanvas::hriListener_
hri::HRIListener hriListener_
Definition: RadarCanvas.hpp:105
rqt_human_radar::RadarCanvas::package_
std::string package_
Definition: RadarCanvas.hpp:117
rqt_human_radar::RadarCanvas::robotImageFound
bool robotImageFound
Definition: RadarCanvas.hpp:116
rqt_human_radar::RadarCanvas::peoplePosition_
std::map< std::string, QPolygon > peoplePosition_
Definition: RadarCanvas.hpp:118
ros.h
rqt_human_radar::RadarCanvas::mousePressEvent
void mousePressEvent(QMouseEvent *event) override
overriding the mousePressEvent virtual function
Definition: RadarCanvas.cpp:362
rqt_human_radar::RadarCanvas::tfListener_
tf::TransformListener tfListener_
Definition: RadarCanvas.hpp:106
rqt_human_radar::RadarCanvas::ui_
Ui::RadarTabs * ui_
Definition: RadarCanvas.hpp:135
rqt_human_radar::RadarCanvas::personImageFound
bool personImageFound
Definition: RadarCanvas.hpp:116
rqt_human_radar::RadarCanvas::personSvgFile_
std::string personSvgFile_
Definition: RadarCanvas.hpp:117
rqt_human_radar::RadarCanvas::timer_
QTimer * timer_
Definition: RadarCanvas.hpp:103
rqt_human_radar::RadarCanvas::font_
QFont font_
Definition: RadarCanvas.hpp:112
rqt_human_radar::RadarCanvas::updatePixelPerMeter
void updatePixelPerMeter()
Updating the pixel-per-meter value.
Definition: RadarCanvas.cpp:351
rqt_human_radar::RadarCanvas::idClicked_
std::string idClicked_
Definition: RadarCanvas.hpp:138
rqt_human_radar::RadarCanvas::paintEvent
void paintEvent(QPaintEvent *event) override
overriding the paintEvent virtual function.
Definition: RadarCanvas.cpp:108
rqt_human_radar::RadarCanvas::showIdValue_
Qt::CheckState showIdValue_
Definition: RadarCanvas.hpp:128
rqt_human_radar::RadarCanvas::updateArcsToDraw
void updateArcsToDraw()
updates the number of arcs to draw.
Definition: RadarCanvas.cpp:375
rqt_human_radar::RadarCanvas::arcsToDraw_
int arcsToDraw_
Definition: RadarCanvas.hpp:126
rqt_human_radar::RadarCanvas::resizeEvent
void resizeEvent(QResizeEvent *event) override
overriding the resizeEvent virtual function.
Definition: RadarCanvas.cpp:345
rqt_human_radar::RadarCanvas::RadarCanvas
RadarCanvas(QWidget *parent, Ui::RadarTabs *ui)
Constructor.
Definition: RadarCanvas.cpp:33
rqt_human_radar::RadarCanvas::~RadarCanvas
virtual ~RadarCanvas()
Destructor.
Definition: RadarCanvas.cpp:105
Ui
Definition: RadarCanvas.hpp:37
rqt_human_radar::RadarCanvas::rangePen_
QPen rangePen_
Definition: RadarCanvas.hpp:110
rqt_human_radar::RadarCanvas::versor_
geometry_msgs::Vector3Stamped versor_
Definition: RadarCanvas.hpp:107
rqt_human_radar::RadarCanvas::robotImageFile_
std::string robotImageFile_
Definition: RadarCanvas.hpp:117
rqt_human_radar::RadarCanvas::svgRenderer_
QSvgRenderer svgRenderer_
Definition: RadarCanvas.hpp:121
rqt_human_radar::RadarCanvas::robotImage_
QImage robotImage_
Definition: RadarCanvas.hpp:115
rqt_human_radar::RadarCanvas::evenBrush_
QBrush evenBrush_
Definition: RadarCanvas.hpp:111
rqt_human_radar::RadarCanvas::anglesFont_
QFont anglesFont_
Definition: RadarCanvas.hpp:112
transform_listener.h
rqt_human_radar::RadarCanvas::pixelPerMeter_
int pixelPerMeter_
Definition: RadarCanvas.hpp:124
hri::HRIListener
rqt_human_radar::RadarCanvas
Definition: RadarCanvas.hpp:43
rqt_human_radar
Definition: Radar.hpp:13
tf::TransformListener
rqt_human_radar::RadarCanvas::xOffset_
double xOffset_
Definition: RadarCanvas.hpp:131
rqt_human_radar::RadarCanvas::referenceFrame_
std::string referenceFrame_
Definition: RadarCanvas.hpp:141
rqt_human_radar::RadarCanvas::svgRendererInitialized_
bool svgRendererInitialized_
Definition: RadarCanvas.hpp:122
rqt_human_radar::RadarCanvas::showId
void showId()
Reading the user preference about showing or not people ID.
Definition: RadarCanvas.cpp:357
rqt_human_radar::RadarCanvas::oddBrush_
QBrush oddBrush_
Definition: RadarCanvas.hpp:111
rqt_human_radar::RadarCanvas::widget_
QWidget * widget_
Definition: RadarCanvas.hpp:134
rqt_human_radar::RadarCanvas::yOffset_
double yOffset_
Definition: RadarCanvas.hpp:131
hri.h
rqt_human_radar::RadarCanvas::inScreen
bool inScreen(double &x, double &y) const
returns whether or not a point is inside the canvas.
Definition: RadarCanvas.cpp:371


rqt_human_radar
Author(s): Lorenzo Ferrini
autogenerated on Fri Dec 16 2022 03:43:38