From: Jiri Vlasak Date: Sun, 7 Feb 2021 12:12:30 +0000 (+0100) Subject: Use begin, end when rotating zone border X-Git-Tag: v0.5.0~2^2~1 X-Git-Url: https://rtime.felk.cvut.cz/gitweb/hubacji1/bcar.git/commitdiff_plain/39b92138febb01fefd8ccf48f7d05c4da6bd75e9 Use begin, end when rotating zone border --- diff --git a/src/bcar.cc b/src/bcar.cc index b5868bd..cd317a4 100644 --- a/src/bcar.cc +++ b/src/bcar.cc @@ -24,6 +24,8 @@ bool BicycleCar::drivable(const BicycleCar &bc, double b, double e) const return true; } else if (0 < a_1 && a_1 <= M_PI/2) { // left front BicycleCar z(*this); // zone border + z.h(e); + h_d = bc.h() - this->h(); z.rotate(this->ccl().x(), this->ccl().y(), h_d); // assert z.h() == bc.h() if (bc.y() == z.y() && bc.x() == z.x()) // bc on zone border @@ -37,6 +39,8 @@ bool BicycleCar::drivable(const BicycleCar &bc, double b, double e) const return true; } else if (M_PI/2 < a_1 && a_1 <= M_PI) { // left rear BicycleCar z(*this); // zone border + z.h(e); + h_d = bc.h() - this->h(); z.rotate(this->ccl().x(), this->ccl().y(), h_d); // assert z.h() == bc.h() if (bc.y() == z.y() && bc.x() == z.x()) // bc on zone border @@ -51,6 +55,8 @@ bool BicycleCar::drivable(const BicycleCar &bc, double b, double e) const return true; } else if (0 > a_1 && a_1 >= -M_PI/2) { // right front BicycleCar z(*this); // zone border + z.h(b); + h_d = bc.h() - this->h(); z.rotate(this->ccr().x(), this->ccr().y(), h_d); // assert z.h() == bc.h() if (bc.y() == z.y() && bc.x() == z.x()) // bc on zone border @@ -64,6 +70,8 @@ bool BicycleCar::drivable(const BicycleCar &bc, double b, double e) const return true; } else if (-M_PI/2 > a_1 && a_1 >= -M_PI) { // right rear BicycleCar z(*this); // zone border + z.h(b); + h_d = bc.h() - this->h(); z.rotate(this->ccr().x(), this->ccr().y(), h_d); // assert z.h() == bc.h() if (bc.y() == z.y() && bc.x() == z.x()) // bc on zone border