// init orientation
WVPASS(!psp.collide());
+ WVPASS(psp.forward());
WVPASSEQ_DOUBLE(psp.ps().heading(), psp.gc().h(), 0.00001);
// entry point found by reverse
psp.fer();
WVPASS(psp.left());
+ // find entry
+ psp.cc() = BicycleCar(psp.gc());
+ WVPASS(!psp.left());
+ psp.fe();
+ WVPASS(psp.left());
+
// collide
auto tmpi1 = intersect(1, 1, 3, 3, 1, 3, 3, 1);
WVPASS(std::get<0>(tmpi1));
// init orientation
WVPASS(!psp.collide());
+ WVPASS(!psp.forward());
WVPASSEQ_DOUBLE(psp.ps().heading() + M_PI / 2, psp.gc().h(), 0.00001);
// entry point found by reverse
WVPASS(!psp.left());
psp.fer();
WVPASS(psp.left());
+
+ // find entry
+ psp.cc() = BicycleCar(psp.gc());
+ WVPASS(!psp.left());
+ psp.fe();
+ WVPASS(psp.left());
}
WVTEST_MAIN("forward perpendicullar parking slot planner")
// init orientation
WVPASS(!psp.collide());
+ WVPASS(psp.forward());
WVPASSEQ_DOUBLE(psp.ps().heading() - M_PI / 2, psp.gc().h(), 0.00001);
// entry point found by reverse
WVPASS(!psp.left());
psp.fer();
WVPASS(psp.left());
+
+ // find entry
+ psp.cc() = BicycleCar(psp.gc());
+ WVPASS(!psp.left());
+ psp.fe();
+ WVPASS(psp.left());
}