]> rtime.felk.cvut.cz Git - hubacji1/psp.git/blobdiff - src/psp.cc
Move collide functions to `bcar` lib
[hubacji1/psp.git] / src / psp.cc
index 9e53e36ec1d7c54cde0c8565cf3067c1f72245c8..66f7f810add831a3f46474fd1079a6280ab2efbf 100644 (file)
@@ -376,44 +376,3 @@ bool PSPlanner::forward()
 PSPlanner::PSPlanner()
 {
 }
-
-std::tuple<bool, double, double> intersect(
-        double x1, double y1,
-        double x2, double y2,
-        double x3, double y3,
-        double x4, double y4
-)
-{
-        double deno = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
-        if (deno == 0)
-                return std::make_tuple(false, 0, 0);
-        double t = (x1 - x3) * (y3 - y4) - (y1 - y3) * (x3 - x4);
-        t /= deno;
-        double u = (x1 - x2) * (y1 - y3) - (y1 - y2) * (x1 - x3);
-        u *= -1;
-        u /= deno;
-        if (t < 0 || t > 1 || u < 0 || u > 1)
-                return std::make_tuple(false, 0, 0);
-        return std::make_tuple(true, x1 + t * (x2 - x1), y1 + t * (y2 - y1));
-}
-
-bool inside(double x, double y, std::vector<std::tuple<double, double>> poly)
-{
-        unsigned int i = 0;
-        unsigned int j = 3;
-        bool inside = false;
-        for (i = 0; i < 4; i++) {
-                if (
-                        (std::get<1>(poly[i]) > y) != (std::get<1>(poly[j]) > y)
-                        && (
-                                x < std::get<0>(poly[i])
-                                + (std::get<0>(poly[j]) - std::get<0>(poly[i]))
-                                * (y - std::get<1>(poly[i]))
-                                / (std::get<1>(poly[j]) - std::get<1>(poly[i]))
-                        )
-                )
-                        inside = !inside;
-                j = i;
-        }
-        return inside;
-}