]> rtime.felk.cvut.cz Git - hubacji1/iamcar2.git/blob - src/test-template.cc
Merge branch 'add-test-48'
[hubacji1/iamcar2.git] / src / test-template.cc
1 #include <chrono>
2 #include <iostream>
3 #include <jsoncpp/json/json.h>
4
5 #include "psp.h"
6 #include "rrtce.h"
7 #ifndef EPP
8         #define EPP RRTS
9 #endif
10
11 std::chrono::high_resolution_clock::time_point TSTART_;
12 std::chrono::high_resolution_clock::time_point TEND_;
13 inline void TSTART() { TSTART_ = std::chrono::high_resolution_clock::now(); }
14 inline void TEND() { TEND_ = std::chrono::high_resolution_clock::now(); }
15 inline double TDIFF()
16 {
17         std::chrono::duration<double> DT_;
18         DT_ = std::chrono::duration_cast<std::chrono::duration<double>>(
19                 TEND_ - TSTART_
20         );
21         return DT_.count();
22 }
23 inline void TPRINT(const char *what)
24 {
25         std::cerr << what << ": " << TDIFF() << std::endl;
26 }
27
28 PSPlanner psp;
29 EPP epp;
30 int main()
31 {
32         Json::Value jvi; // JSON input
33         Json::Value jvo; // JSON output
34         std::cin >> jvi;
35
36         psp.ps().border(
37                 jvi["slot"][0][0][0].asDouble(),
38                 jvi["slot"][0][0][1].asDouble(),
39
40                 jvi["slot"][0][1][0].asDouble(),
41                 jvi["slot"][0][1][1].asDouble(),
42
43                 jvi["slot"][0][2][0].asDouble(),
44                 jvi["slot"][0][2][1].asDouble(),
45
46                 jvi["slot"][0][3][0].asDouble(),
47                 jvi["slot"][0][3][1].asDouble()
48         );
49
50         psp.fe();
51
52         jvi["goal"][0] = psp.cc().x();
53         jvi["goal"][1] = psp.cc().y();
54         jvi["goal"][2] = psp.cc().h();
55         unsigned int icnt = 0;
56         for (auto &i: psp.possible_goals()) {
57                 jvi["goals"][icnt][0] = i.x();
58                 jvi["goals"][icnt][1] = i.y();
59                 jvi["goals"][icnt][2] = i.h();
60                 icnt++;
61         }
62         jvi["goals"][icnt][0] = psp.cc().x();
63         jvi["goals"][icnt][1] = psp.cc().y();
64         jvi["goals"][icnt][2] = psp.cc().h();
65
66         epp.json(jvi);
67         epp.init();
68
69         while (epp.next()) {}
70
71         jvo = epp.json();
72         jvo["slot"] = jvi["slot"];
73         std::cout << jvo << std::endl;
74         return 0;
75 }