implement intersectLineSegment() which requires a whole ton of stuff...