3 #include <geometry_msgs/msg/twist.hpp> 4 #include <geometry_msgs/msg/twist_stamped.hpp> 5 #include <geometry_msgs/msg/twist_with_covariance.hpp> 18 void parseMessageImpl(
const geometry_msgs::msg::Twist& msg,
double& timestamp)
override 32 _data[0]->pushBack({ timestamp, msg.linear.x });
33 _data[1]->pushBack({ timestamp, msg.linear.y });
34 _data[2]->pushBack({ timestamp, msg.linear.z });
36 _data[3]->pushBack({ timestamp, msg.angular.x });
37 _data[4]->pushBack({ timestamp, msg.angular.y });
38 _data[5]->pushBack({ timestamp, msg.angular.z });
42 std::vector<PJ::PlotData*>
_data;
51 , _header_parser(topic_name +
"/header", plot_data)
52 , _twist_parser(topic_name +
"/twist", plot_data)
56 void parseMessageImpl(
const geometry_msgs::msg::TwistStamped& msg,
double& timestamp)
override 59 _twist_parser.parseMessageImpl(msg.twist, timestamp);
72 , _twist_parser(topic_name +
"/twist", plot_data)
73 , _covariance(topic_name +
"/covariance", plot_data)
77 void parseMessageImpl(
const geometry_msgs::msg::TwistWithCovariance& msg,
double& timestamp)
override 79 _twist_parser.parseMessageImpl(msg.twist, timestamp);
80 _covariance.parse(msg.covariance, timestamp);
void parseMessageImpl(const geometry_msgs::msg::Twist &msg, double ×tamp) override
TwistCovarianceMsgParser(const std::string &topic_name, PJ::PlotDataMapRef &plot_data)
void parseMessageImpl(const geometry_msgs::msg::TwistStamped &msg, double ×tamp) override
TwistStampedMsgParser(const std::string &topic_name, PJ::PlotDataMapRef &plot_data)
PJ::PlotData & getSeries(const std::string &key)
std::vector< PJ::PlotData * > _data
void parseMessageImpl(const geometry_msgs::msg::TwistWithCovariance &msg, double ×tamp) override
TwistMsgParser(const std::string &topic_name, PJ::PlotDataMapRef &plot_data)