diff --git a/src/libslic3r/SLA/SupportIslands/PointUtils.cpp b/src/libslic3r/SLA/SupportIslands/PointUtils.cpp index 49b3b87e53..1e828eda14 100644 --- a/src/libslic3r/SLA/SupportIslands/PointUtils.cpp +++ b/src/libslic3r/SLA/SupportIslands/PointUtils.cpp @@ -23,6 +23,18 @@ Slic3r::Point PointUtils::perp(const Point &vector) bool PointUtils::is_same_direction(const Point &dir1, const Point &dir2) { - return (is_majorit_x(dir1)) ? (dir1.x() > 0) == (dir2.x() > 0) : - (dir1.y() > 0) == (dir2.y() > 0); + // (is_majorit_x(dir1)) ? (dir1.x() > 0) == (dir2.x() > 0) : + // (dir1.y() > 0) == (dir2.y() > 0); + // Cant use majorit direction: + // [2] 750000 544907 + // [2] 463525 -1426583 + // !! bad idea + + // Cant use dot product for int value ==> dir1.dot(dir2) + // diferent int result for input + //[2] - 128707028 93448506 + //[2] 10475487 1662574 + // may be overflow ?? + + return dir1.cast().dot(dir2.cast()) > 0; }