flash_ui.h
Go to the documentation of this file.
1 //
2 // Created by llljjjqqq on 22-11-4.
3 //
4 
5 #pragma once
6 
8 
9 namespace rm_referee
10 {
11 class FlashUi : public UiBase
12 {
13 public:
14  explicit FlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, const std::string& graph_name,
15  std::deque<Graph>* graph_queue, std::deque<Graph>* character_queue)
16  : UiBase(rpc_value, base, graph_queue, character_queue)
17  {
18  graph_ = new Graph(rpc_value["config"], base_, id_++);
19  }
20  virtual void display(const ros::Time& time){};
21  virtual void updateConfig(){};
22  void updateFlashUiForQueue(const ros::Time& time, bool state, bool once);
23 };
24 
25 class FlashGroupUi : public GroupUiBase
26 {
27 public:
28  explicit FlashGroupUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, const std::string& graph_name,
29  std::deque<Graph>* graph_queue, std::deque<Graph>* character_queue)
30  : GroupUiBase(rpc_value, base, graph_queue, character_queue)
31  {
32  graph_name_ = graph_name;
33  }
34  virtual void display(const ros::Time& time){};
35  virtual void updateConfig(){};
36  void updateFlashUiForQueue(const ros::Time& time, bool state, bool once);
37  void updateFlashUiForQueue(const ros::Time& time, bool state, bool once, Graph* graph);
38 
39 protected:
40  std::string graph_name_;
41 };
42 
44 {
45 public:
46  explicit CustomizeDisplayFlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
47  std::deque<Graph>* character_queue)
48  : FlashGroupUi(rpc_value, base, "customize_display", graph_queue, character_queue)
49  {
50  if (rpc_value.hasMember("data"))
51  {
52  XmlRpc::XmlRpcValue& data = rpc_value["data"];
53  for (int i = 0; i < static_cast<int>(rpc_value["data"].size()); i++)
54  {
55  graph_vector_.insert(std::pair<std::string, Graph*>(std::to_string(static_cast<int>(data[i]["flag"])),
56  new Graph(data[i]["config"], base_, id_++)));
57  }
58  }
59  }
60  void updateCmdData(const uint32_t& data);
61 
62 private:
63  void display(const ros::Time& time) override;
64  uint32_t symbol_;
65 };
66 
67 class CoverFlashUi : public FlashUi
68 {
69 public:
70  explicit CoverFlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
71  std::deque<Graph>* character_queue)
72  : FlashUi(rpc_value, base, "cover", graph_queue, character_queue){};
73  void updateManualCmdData(const rm_msgs::ManualToReferee::ConstPtr data, const ros::Time& last_get_data_time) override;
74 
75 private:
76  void display(const ros::Time& time) override;
77 
78  uint8_t cover_state_;
79 };
80 
81 class SpinFlashUi : public FlashUi
82 {
83 public:
84  explicit SpinFlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
85  std::deque<Graph>* character_queue)
86  : FlashUi(rpc_value, base, "spin", graph_queue, character_queue){};
87  void updateChassisCmdData(const rm_msgs::ChassisCmd::ConstPtr data, const ros::Time& last_get_data_time);
88 
89 private:
90  void display(const ros::Time& time) override;
91  uint8_t chassis_mode_;
92 };
93 
94 class DeployFlashUi : public FlashUi
95 {
96 public:
97  explicit DeployFlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
98  std::deque<Graph>* character_queue)
99  : FlashUi(rpc_value, base, "deploy", graph_queue, character_queue){};
100  void updateChassisCmdData(const rm_msgs::ChassisCmd::ConstPtr& data, const ros::Time& last_get_data_time);
101  void updateChassisVelData(const geometry_msgs::Twist::ConstPtr& data);
102 
103 private:
104  void display(const ros::Time& time) override;
105  uint8_t chassis_mode_;
106  double angular_z_{ 0. };
107 };
108 
110 {
111 public:
112  explicit HeroHitFlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
113  std::deque<Graph>* character_queue)
114  : FlashGroupUi(rpc_value, base, " hero_hit", graph_queue, character_queue)
115  {
116  graph_vector_.insert(std::pair<std::string, Graph*>("1", new Graph(rpc_value["config"], base_, id_++)));
117  graph_vector_.insert(std::pair<std::string, Graph*>("2", new Graph(rpc_value["config"], base_, id_++)));
118  for (auto it : graph_vector_)
119  {
120  if (it.first == "1")
121  {
122  it.second->setStartX(960 + 50);
123  it.second->setStartY(540 + 50);
124  it.second->setEndX(960 - 50);
125  it.second->setEndY(540 - 50);
126  }
127  else if (it.first == "2")
128  {
129  it.second->setStartX(960 - 50);
130  it.second->setStartY(540 + 50);
131  it.second->setEndX(960 + 50);
132  it.second->setEndY(540 - 50);
133  }
134  }
135  }
136  void updateHittingConfig(const rm_msgs::GameRobotHp& msg);
137 
138 private:
139  void display(const ros::Time& time) override;
140  bool hitted_;
141  rm_msgs::GameRobotHp last_hp_msg_;
142 };
143 
145 {
146 public:
147  explicit ExceedBulletSpeedFlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
148  std::deque<Graph>* character_queue)
149  : FlashUi(rpc_value, base, "exceed_bullet_speed", graph_queue, character_queue)
150  {
151  }
152  void updateShootData(const rm_msgs::ShootData& msg);
153 
154 private:
155  void display(const ros::Time& time) override;
156  rm_msgs::ShootData shoot_data_;
157 };
158 
159 class BurstFlashUi : public FlashUi
160 {
161 public:
162  explicit BurstFlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
163  std::deque<Graph>* character_queue)
164  : FlashUi(rpc_value, base, "burst", graph_queue, character_queue)
165  {
166  }
167  void updateBurstTimeData(const rm_msgs::ManualToReferee::ConstPtr& data);
168 
169 private:
170  void display(const ros::Time& time) override;
172 };
173 } // namespace rm_referee
rm_referee::ExceedBulletSpeedFlashUi::updateShootData
void updateShootData(const rm_msgs::ShootData &msg)
Definition: flash_ui.cpp:218
rm_referee::FlashUi::FlashUi
FlashUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, const std::string &graph_name, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:14
rm_referee::SpinFlashUi::updateChassisCmdData
void updateChassisCmdData(const rm_msgs::ChassisCmd::ConstPtr data, const ros::Time &last_get_data_time)
Definition: flash_ui.cpp:163
rm_referee::GroupUiBase::graph_vector_
std::map< std::string, Graph * > graph_vector_
Definition: ui_base.h:93
rm_referee::FlashGroupUi
Definition: flash_ui.h:25
rm_referee::FlashUi::display
virtual void display(const ros::Time &time)
Definition: flash_ui.h:20
rm_referee::DeployFlashUi::chassis_mode_
uint8_t chassis_mode_
Definition: flash_ui.h:105
rm_referee::Base
Definition: data.h:142
rm_referee::FlashUi::updateConfig
virtual void updateConfig()
Definition: flash_ui.h:21
rm_referee
Definition: data.h:100
rm_referee::ExceedBulletSpeedFlashUi::display
void display(const ros::Time &time) override
Definition: flash_ui.cpp:211
rm_referee::CoverFlashUi::display
void display(const ros::Time &time) override
Definition: flash_ui.cpp:142
rm_referee::CoverFlashUi::cover_state_
uint8_t cover_state_
Definition: flash_ui.h:78
rm_referee::HeroHitFlashUi
Definition: flash_ui.h:109
rm_referee::FlashGroupUi::updateConfig
virtual void updateConfig()
Definition: flash_ui.h:35
rm_referee::FlashUi::updateFlashUiForQueue
void updateFlashUiForQueue(const ros::Time &time, bool state, bool once)
Definition: flash_ui.cpp:9
rm_referee::ExceedBulletSpeedFlashUi::ExceedBulletSpeedFlashUi
ExceedBulletSpeedFlashUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:147
rm_referee::DeployFlashUi
Definition: flash_ui.h:94
rm_referee::HeroHitFlashUi::display
void display(const ros::Time &time) override
Definition: flash_ui.cpp:203
rm_referee::FlashGroupUi::display
virtual void display(const ros::Time &time)
Definition: flash_ui.h:34
rm_referee::DeployFlashUi::angular_z_
double angular_z_
Definition: flash_ui.h:106
rm_referee::BurstFlashUi::start_burst_time_
ros::Time start_burst_time_
Definition: flash_ui.h:171
rm_referee::CoverFlashUi::CoverFlashUi
CoverFlashUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:70
rm_referee::BurstFlashUi
Definition: flash_ui.h:159
rm_referee::FlashGroupUi::graph_name_
std::string graph_name_
Definition: flash_ui.h:40
rm_referee::HeroHitFlashUi::last_hp_msg_
rm_msgs::GameRobotHp last_hp_msg_
Definition: flash_ui.h:141
rm_referee::CustomizeDisplayFlashUi::updateCmdData
void updateCmdData(const uint32_t &data)
Definition: flash_ui.cpp:125
rm_referee::CoverFlashUi
Definition: flash_ui.h:67
rm_referee::FlashGroupUi::updateFlashUiForQueue
void updateFlashUiForQueue(const ros::Time &time, bool state, bool once)
Definition: flash_ui.cpp:38
rm_referee::HeroHitFlashUi::updateHittingConfig
void updateHittingConfig(const rm_msgs::GameRobotHp &msg)
Definition: flash_ui.cpp:187
rm_referee::SpinFlashUi::SpinFlashUi
SpinFlashUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:84
rm_referee::BurstFlashUi::display
void display(const ros::Time &time) override
Definition: flash_ui.cpp:223
rm_referee::CustomizeDisplayFlashUi::CustomizeDisplayFlashUi
CustomizeDisplayFlashUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:46
rm_referee::DeployFlashUi::DeployFlashUi
DeployFlashUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:97
rm_referee::DeployFlashUi::updateChassisVelData
void updateChassisVelData(const geometry_msgs::Twist::ConstPtr &data)
Definition: flash_ui.cpp:182
rm_referee::UiBase
Definition: ui_base.h:19
rm_referee::UiBase::base_
Base & base_
Definition: ui_base.h:58
ui_base.h
rm_referee::SpinFlashUi::chassis_mode_
uint8_t chassis_mode_
Definition: flash_ui.h:91
rm_referee::ExceedBulletSpeedFlashUi::shoot_data_
rm_msgs::ShootData shoot_data_
Definition: flash_ui.h:156
rm_referee::UiBase::id_
static int id_
Definition: ui_base.h:60
rm_referee::FlashUi
Definition: flash_ui.h:11
rm_referee::GroupUiBase
Definition: ui_base.h:71
rm_referee::ExceedBulletSpeedFlashUi
Definition: flash_ui.h:144
rm_referee::SpinFlashUi::display
void display(const ros::Time &time) override
Definition: flash_ui.cpp:156
rm_referee::BurstFlashUi::BurstFlashUi
BurstFlashUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:162
rm_referee::DeployFlashUi::updateChassisCmdData
void updateChassisCmdData(const rm_msgs::ChassisCmd::ConstPtr &data, const ros::Time &last_get_data_time)
Definition: flash_ui.cpp:176
XmlRpc::XmlRpcValue::hasMember
bool hasMember(const std::string &name) const
ros::Time
rm_referee::HeroHitFlashUi::HeroHitFlashUi
HeroHitFlashUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:112
rm_referee::CoverFlashUi::updateManualCmdData
void updateManualCmdData(const rm_msgs::ManualToReferee::ConstPtr data, const ros::Time &last_get_data_time) override
Definition: flash_ui.cpp:149
rm_referee::SpinFlashUi
Definition: flash_ui.h:81
rm_referee::CustomizeDisplayFlashUi::symbol_
uint32_t symbol_
Definition: flash_ui.h:64
rm_referee::BurstFlashUi::updateBurstTimeData
void updateBurstTimeData(const rm_msgs::ManualToReferee::ConstPtr &data)
Definition: flash_ui.cpp:235
rm_referee::CustomizeDisplayFlashUi
Definition: flash_ui.h:43
rm_referee::CustomizeDisplayFlashUi::display
void display(const ros::Time &time) override
Definition: flash_ui.cpp:131
rm_referee::FlashGroupUi::FlashGroupUi
FlashGroupUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, const std::string &graph_name, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition: flash_ui.h:28
rm_referee::UiBase::graph_
Graph * graph_
Definition: ui_base.h:59
rm_referee::HeroHitFlashUi::hitted_
bool hitted_
Definition: flash_ui.h:140
rm_referee::DeployFlashUi::display
void display(const ros::Time &time) override
Definition: flash_ui.cpp:169
rm_referee::Graph
Definition: graph.h:12
XmlRpc::XmlRpcValue


rm_referee
Author(s): Qiayuan Liao
autogenerated on Tue May 6 2025 02:23:49