12 double edist(double x1, double y1, double x2, double y2)
14 return sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
17 std::chrono::high_resolution_clock::time_point TSTART_;
18 std::chrono::high_resolution_clock::time_point TEND_;
19 inline void TSTART() { TSTART_ = std::chrono::high_resolution_clock::now(); }
20 inline void TEND() { TEND_ = std::chrono::high_resolution_clock::now(); }
23 std::chrono::duration<double> DT_;
24 DT_ = std::chrono::duration_cast<std::chrono::duration<double>>(
29 inline void TPRINT(const char *what)
31 std::cerr << what << ": " << TDIFF() << std::endl;
38 Json::Value jvi; // JSON input
39 Json::Value jvo; // JSON output
44 jvi["slot"][0][0][0].asDouble(),
45 jvi["slot"][0][0][1].asDouble(),
47 jvi["slot"][0][1][0].asDouble(),
48 jvi["slot"][0][1][1].asDouble(),
50 jvi["slot"][0][2][0].asDouble(),
51 jvi["slot"][0][2][1].asDouble(),
53 jvi["slot"][0][3][0].asDouble(),
54 jvi["slot"][0][3][1].asDouble()
56 if (psp.ps().parallel()) {
58 double len1 = edist(s.x1(), s.y1(), s.x4(), s.y4());
59 if (len1 < 7.0) { // sc4_1
60 jvi["entry"][0] = -744205.7720085467;
61 jvi["entry"][1] = -1044324.2341447787;
62 jvi["entry"][2] = 0.40625042334046907;
63 jvi["entry"][3] = 0.4748504233404615;
64 jvi["entries"][0][0] = -744208.558833301;
65 jvi["entries"][0][1] = -1044325.6668039856;
66 jvi["entries"][0][2] = 0.4748504233404615;
67 jvi["entries"][1][0] = -744208.5992336513;
68 jvi["entries"][1][1] = -1044325.4503620268;
69 jvi["entries"][1][2] = 0.40625042334046907;
71 // jvi["entry"][0] = 6.688127114360318;
72 // jvi["entry"][1] = 0.9001931028769716;
73 // jvi["entry"][2] = 0.3416999999999787;
74 // jvi["entry"][3] = 0.40749999999997144;
79 auto lm = psp.last_maneuver();
80 std::reverse(lm.begin(), lm.end());
83 jvi["goals"][i][0] = g.x();
84 jvi["goals"][i][1] = g.y();
85 jvi["goals"][i][2] = g.h();
91 epp.sample_dist_type(3);
92 // TODO the following has no meaning for uniform circle sampling
93 epp.set_sample(-50, 50, -50, 50, 0, 2 * M_PI);
98 jvo["slot"] = jvi["slot"];
99 std::cout << jvo << std::endl;