From: Jiri Hubacek Date: Fri, 29 Jun 2018 20:24:01 +0000 (+0200) Subject: Add JSON input to main program X-Git-Tag: v0.1.0~31^2~2 X-Git-Url: https://rtime.felk.cvut.cz/gitweb/hubacji1/iamcar.git/commitdiff_plain/84e3847e31a9cf481eef41507526306ee12618c7 Add JSON input to main program --- diff --git a/base/main.cc b/base/main.cc index 9e63dfe..f7e9d25 100644 --- a/base/main.cc +++ b/base/main.cc @@ -26,9 +26,36 @@ int main() std::cin >> jvi; std::string encoding = jvi.get("encoding", "UTF-8" ).asString(); - LaValle1998 p(new RRTNode(0, 0, 0), new RRTNode(9, 9, 0)); + LaValle1998 p( + new RRTNode( + jvi["init"][0].asFloat(), + jvi["init"][1].asFloat(), + jvi["init"][2].asFloat()), + new RRTNode( + jvi["goal"][0].asFloat(), + jvi["goal"][1].asFloat(), + jvi["goal"][2].asFloat())); std::vector co; std::vector so; + for (auto o: jvi["obst"]) { + if (o["circle"] != Json::nullValue) { + co.push_back(CircleObstacle( + o["circle"][0].asFloat(), + o["circle"][1].asFloat(), + o["circle"][2].asFloat())); + } + if (o["segment"] != Json::nullValue) { + so.push_back(SegmentObstacle( + new RRTNode( + o["segment"][0][0].asFloat(), + o["segment"][0][1].asFloat(), + 0), + new RRTNode( + o["segment"][1][0].asFloat(), + o["segment"][1][1].asFloat(), + 0))); + } + } p.link_obstacles(&co, &so); p.tstart();