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<CircleObstacle> co;
std::vector<SegmentObstacle> 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();