src
RosoutPublisher
rosout_publisher.h
Go to the documentation of this file.
1
#ifndef ROSOUT_PUBLISHER_ROS_H
2
#define ROSOUT_PUBLISHER_ROS_H
3
4
#include <QObject>
5
#include <QtPlugin>
6
#include <QMainWindow>
7
#include <map>
8
#include <
ros/ros.h
>
9
#include <
PlotJuggler/statepublisher_base.h
>
10
#include <rosgraph_msgs/Log.h>
11
#include "
logwidget.hpp
"
12
13
using namespace
PJ
;
14
15
class
RosoutWindow
:
public
QMainWindow
16
{
17
Q_OBJECT
18
public
:
19
RosoutWindow
() : QMainWindow()
20
{
21
}
22
~
RosoutWindow
()
override
=
default
;
23
24
void
closeEvent
(QCloseEvent*)
override
25
{
26
emit closed();
27
}
28
signals:
29
void
closed();
30
};
31
32
class
RosoutPublisher
:
public
PJ::StatePublisher
33
{
34
Q_OBJECT
35
Q_PLUGIN_METADATA(IID
"facontidavide.PlotJuggler3.StatePublisher"
)
36
Q_INTERFACES(
PJ::StatePublisher
)
37
38
public
:
39
RosoutPublisher
();
40
41
virtual
void
updateState(
double
current_time)
override
;
42
virtual
const
char
*
name
()
const override
43
{
44
return
"ROS /rosout Visualization"
;
45
}
46
virtual
~
RosoutPublisher
();
47
48
virtual
bool
enabled
()
const override
49
{
50
return
_enabled;
51
}
52
53
virtual
void
play
(
double
interval)
override
54
{
55
// TODO
56
}
57
58
public
slots:
59
virtual
void
setEnabled(
bool
enabled)
override
;
60
61
private
slots:
62
63
void
onWindowClosed();
64
65
private
:
66
bool
_enabled
;
67
int64_t
_minimum_time_usec
, _maximum_time_usec;
68
69
LogsTableModel
*
_tablemodel
;
70
rqt_console_plus::LogWidget
*
_log_widget
;
71
72
std::vector<const PlotDataAny*> findRosoutTimeseries();
73
void
syncWithTableModel(
const
std::vector<const PlotDataAny*>& logs_timeseries);
74
75
RosoutWindow
*
_log_window
;
76
signals:
77
void
timeRangeChanged(
TimePoint
time_min,
TimePoint
time_max);
78
};
79
80
#endif // ROSOUT_PUBLISHER_ROS_H
TimePoint
std::chrono::high_resolution_clock::time_point TimePoint
Definition:
logs_table_model.hpp:17
RosoutPublisher::play
virtual void play(double interval) override
Definition:
rosout_publisher.h:53
ros.h
RosoutPublisher::_enabled
bool _enabled
Definition:
rosout_publisher.h:66
RosoutPublisher::_log_widget
rqt_console_plus::LogWidget * _log_widget
Definition:
rosout_publisher.h:70
RosoutPublisher::_tablemodel
LogsTableModel * _tablemodel
Definition:
rosout_publisher.h:69
LogsTableModel
Definition:
logs_table_model.hpp:20
RosoutWindow::RosoutWindow
RosoutWindow()
Definition:
rosout_publisher.h:19
RosoutWindow::closeEvent
void closeEvent(QCloseEvent *) override
Definition:
rosout_publisher.h:24
RosoutPublisher::_minimum_time_usec
int64_t _minimum_time_usec
Definition:
rosout_publisher.h:67
RosoutWindow
Definition:
rosout_publisher.h:15
statepublisher_base.h
RosoutPublisher
Definition:
rosout_publisher.h:32
logwidget.hpp
rqt_console_plus::LogWidget
Definition:
logwidget.hpp:32
RosoutPublisher::name
virtual const char * name() const override
Definition:
rosout_publisher.h:42
PJ
PJ::StatePublisher
RosoutPublisher::enabled
virtual bool enabled() const override
Definition:
rosout_publisher.h:48
RosoutPublisher::_log_window
RosoutWindow * _log_window
Definition:
rosout_publisher.h:75
plotjuggler_ros
Author(s): Davide Faconti
autogenerated on Sat May 24 2025 02:24:01