I'd like to report a bug in function:
//: true if the linesegment joining ,  meets the linesegment joining , .
export template <class T>
bool vgl_lineseg_test_lineseg(T x1, T y1, T x2, T y2, T x3, T y3, T x4, T y4)
This function is declared in vgl/vgl_lineseg_test.h and is meant to determined whether two line segments (, ) and (, ) intersect.
When the inputs are:
x1 = 0; y1 = 1;
x2 = 1; y2 = 1;
x3 = 2; y3 = 1;
x4 = 3; y4 = 1;
the function returns `true', which means the two line segments intersect while clearly these are two completely separate, non-intersecting linesegments.
This bug occurs whenever the two line segments lie on the same line.
A fix for this bug would be greatly appreciated.