Tune what's considered a duplicate intersection point
This commit is contained in:
parent
df1f89efcd
commit
2cf53200ac
@ -234,7 +234,8 @@ const intersectRectanguloidWithLineSegment = (
|
||||
)
|
||||
// Remove duplicates
|
||||
.filter(
|
||||
(p, idx, points) => points.findIndex((d) => pointsEqual(p, d)) === idx,
|
||||
(p, idx, points) =>
|
||||
points.findIndex((d) => pointsEqual(p, d, 1e-3)) === idx,
|
||||
)
|
||||
);
|
||||
};
|
||||
@ -282,7 +283,8 @@ const intersectDiamondWithLineSegment = (
|
||||
)
|
||||
// Remove duplicates
|
||||
.filter(
|
||||
(p, idx, points) => points.findIndex((d) => pointsEqual(p, d)) === idx,
|
||||
(p, idx, points) =>
|
||||
points.findIndex((d) => pointsEqual(p, d, 1e-3)) === idx,
|
||||
)
|
||||
);
|
||||
};
|
||||
|
@ -91,9 +91,10 @@ export function isPoint(p: unknown): p is LocalPoint | GlobalPoint {
|
||||
export function pointsEqual<Point extends GlobalPoint | LocalPoint>(
|
||||
a: Point,
|
||||
b: Point,
|
||||
precision = PRECISION,
|
||||
): boolean {
|
||||
const abs = Math.abs;
|
||||
return abs(a[0] - b[0]) < PRECISION && abs(a[1] - b[1]) < PRECISION;
|
||||
return abs(a[0] - b[0]) < precision && abs(a[1] - b[1]) < precision;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user