bool LL_SHARED intersection_of_line_segments_in_two_dimensions(LineSegment first_segment, LineSegment second_segment, float* x,float* y) { float intersection_point_x,intersection_point_y; if(intersection_of_lines_in_two_dimensions(first_segment,second_segment, &intersection_point_x,&intersection_point_y)) { if(x and y) { *x=intersection_point_x; *y=intersection_point_y; } return ((first_segment.in_range(0,intersection_point_x) and first_segment.in_range(1,intersection_point_y)) and (second_segment.in_range(0,intersection_point_x) and second_segment.in_range(1,intersection_point_y))); } return false; }