mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-01 15:41:58 +08:00
Fix. Now correct check when 2 vector have same direction
This commit is contained in:
parent
d6616be202
commit
24208b4daa
@ -23,6 +23,18 @@ Slic3r::Point PointUtils::perp(const Point &vector)
|
|||||||
|
|
||||||
bool PointUtils::is_same_direction(const Point &dir1, const Point &dir2)
|
bool PointUtils::is_same_direction(const Point &dir1, const Point &dir2)
|
||||||
{
|
{
|
||||||
return (is_majorit_x(dir1)) ? (dir1.x() > 0) == (dir2.x() > 0) :
|
// (is_majorit_x(dir1)) ? (dir1.x() > 0) == (dir2.x() > 0) :
|
||||||
(dir1.y() > 0) == (dir2.y() > 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<float>().dot(dir2.cast<float>()) > 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user