From 84e3847e31a9cf481eef41507526306ee12618c7 Mon Sep 17 00:00:00 2001 From: Jiri Hubacek Date: Fri, 29 Jun 2018 22:24:01 +0200 Subject: [PATCH] Add JSON input to main program --- base/main.cc | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) 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(); -- 2.39.2