3 #include <jsoncpp/json/json.h>
7 std::chrono::high_resolution_clock::time_point TSTART_;
8 std::chrono::high_resolution_clock::time_point TEND_;
9 inline void TSTART() { TSTART_ = std::chrono::high_resolution_clock::now(); }
10 inline void TEND() { TEND_ = std::chrono::high_resolution_clock::now(); }
13 std::chrono::duration<double> DT_;
14 DT_ = std::chrono::duration_cast<std::chrono::duration<double>>(
19 inline void TPRINT(const char *what)
21 std::cerr << what << ": " << TDIFF() << std::endl;
27 Json::Value jvi; // JSON input
28 Json::Value jvo; // JSON output
33 jvi["slot"][0][0][0].asDouble(),
34 jvi["slot"][0][0][1].asDouble(),
36 jvi["slot"][0][1][0].asDouble(),
37 jvi["slot"][0][1][1].asDouble(),
39 jvi["slot"][0][2][0].asDouble(),
40 jvi["slot"][0][2][1].asDouble(),
42 jvi["slot"][0][3][0].asDouble(),
43 jvi["slot"][0][3][1].asDouble()
48 jvi["goal"][0] = psp.cc().x();
49 jvi["goal"][1] = psp.cc().y();
50 jvi["goal"][2] = psp.cc().h();
52 jvo["slot"] = jvi["slot"];
55 std::cerr << "last maneuver" << std::endl;
56 jvo["last"][i][0] = psp.gc().x();
57 jvo["last"][i][1] = psp.gc().y();
58 jvo["last"][i][2] = psp.gc().h();
60 for (auto p: psp.last_maneuver()) {
61 jvo["last"][i][0] = p.x();
62 jvo["last"][i][1] = p.y();
63 jvo["last"][i][2] = p.h();
66 std::cerr << "... done" << std::endl;
67 std::cout << jvo << std::endl;