robust-segment-intersect
Version:
Exact arithmetic test for line segment intersection
41 lines (33 loc) • 846 B
JavaScript
"use strict"
var crosses = require("../segseg")
var tape = require("tape")
tape("segment-segment crossing", function(t) {
t.ok(crosses([-1, 0], [1, 0], [0,-1], [0,1]), "general test")
t.ok(!crosses([0.5, 0], [1, 0], [0,-1], [0,1]))
t.ok(crosses([0, 0], [1, 0], [0,-1], [0,1]))
t.ok(crosses([0, 0], [100000000000000020000, 1e-12],
[], [1e20, 1e-11]))
t.ok(!crosses([0, 0], [1e20, 1e-11],
[], [100000000000000020000, 1e-12]))
t.ok(!crosses(
[],
[],
[],
[]), "collinear, no intersect")
t.ok(crosses(
[],
[],
[],
[]), "collinear, intersect")
t.ok(crosses(
[],
[],
[],
[]), "collinear, endpoint touch")
t.ok(crosses(
[],
[],
[],
[]), "endpoint touches")
t.end()
})