Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <gz_gep_tools/control_over_gz.hh>
#include <gz/msgs.hh>
#include <gz/transport.hh>
namespace gz_transport_hw_tools {
ControlOverGz::ControlOverGz(std::string &world_prefix)
: world_prefix_(world_prefix) {
control_gzsim_ = world_prefix+std::string("/control");
}
bool ControlOverGz::Reset()
{
gz::msgs::WorldControl req_world_ctrl;
gz::msgs::WorldReset req_world_reset;
gz::msgs::Boolean rep_bool;
unsigned int timeout = 5000;
/// Set reset for everything
req_world_reset.set_all(true);
/// Set the world reset inside the world control reset.
req_world_ctrl.set_allocated_reset(&req_world_reset);
/// Do request.
bool result;
node_.Request( control_gzsim_, req_world_ctrl, timeout, rep_bool, result);
return result;
}
bool ControlOverGz::SendPauseRequest(bool abool)
{
gz::msgs::WorldControl req_world_ctrl;
gz::msgs::Boolean rep_bool;
unsigned int timeout = 5000;
/// Set the world reset inside the world control reset.
req_world_ctrl.set_pause(abool);
/// Do request.
bool result;
node_.Request( control_gzsim_, req_world_ctrl, timeout, rep_bool, result);
return result;
}
bool ControlOverGz::Pause() { return SendPauseRequest(true); }
bool ControlOverGz::Start() { return SendPauseRequest(false); }
}