- int segmentIntersect(const point& a, const point& b, const point& p,
- const point& q, point& res) {
- if (LineIntersect(a, b, p, q, res)) {
- return (pointOnSegment(a, b, res)) && (pointOnSegment(p, q, res));
- } else {
- return pointOnSegment(a, b, p) || pointOnSegment(a, b, q)
- || pointOnSegment(p, q, a) || pointOnSegment(p, q, b);
- }
- }