Example #1
0
bool intersects(const LineSegment<type>& l1, const LineSegment<type>& l2) {
  if(l1.isDegenerate() || l2.isDegenerate()) {
    return false;
  }
  type t = -(dot(l2.getNormal(), l1.getPoint1())+l2.getOffset())/dot(l2.getNormal(), l1.getDirection());
  if(t < 0 || t > 1) {
    return false;
  }
  t = -(dot(l1.getNormal(), l2.getPoint1())+l1.getOffset())/dot(l1.getNormal(), l2.getDirection());
  if(t < 0 || t > 1) {
    return false;
  }
  return true;
}