Hello,

 

I'd like to report a bug in function:

 

//: true if the linesegment joining [1], [2] meets the linesegment joining [3], [4].

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 ([1], [2]) and ([3], [4]) 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.

 

 

 

Nhon Trinh