function getIntersectionsIndex(polyline1, polyline2) {
let iterateOver, indexLine;
if (polyline1.length < polyline2.length) {
iterateOver = polyline1;
indexLine = polyline2;
} else {
iterateOver = polyline2;
indexLine = polyline1;
}
const index = makeIndex(indexLine);
let intersections = [];
for (let i = 0; i < iterateOver.length - 1; i++) {
let one = [iterateOver[i], iterateOver[i + 1]];
let bbOne = getBoundingBox(one);
index
.search(bbOne.minX, bbOne.minY, bbOne.maxX, bbOne.maxY)
.forEach(function (j) {
let two = [indexLine[j], indexLine[j + 1]];
let intersect = checkIntersection(one, two);
if (intersect) {
intersections.push(intersect);
}
});
}
return intersections;
}