Checks if s intersects t. If this is the case, creates a new
point pi intersection of s with t.
This function is geometrically robust in the sense that it will not
return a point if s and t do not intersect and will return a
point if s and t do intersect. However, the point coordinates are
subject to round-off errors.
Note that this function will not return any point if s is contained in
the plane defined by t.
Checks if p4 lies above, below or on the plane passing through the
points p1, p2 and p3. Below is defined so that p1, p2 and p3
appear in counterclockwise order when viewed from above the
plane. The returned value is an approximation of six times the
signed volume of the tetrahedron defined by the four points. This
function uses adaptive floating point arithmetic and is
consequently geometrically robust.
Checks if p4 lies above or below the plane passing through the
points p1, p2 and p3. Below is defined so that p1, p2 and p3
appear in counterclockwise order when viewed from above the
plane. This function uses adaptive floating point arithmetic and is
consequently geometrically robust.
Simulation of Simplicity (SoS) is used to break ties when the
orientation is degenerate (i.e. p4 lies on the plane defined by
p1, p2 and p3).
Checks for orientation of the projection of three points on the
(x,y) plane. The result is also an approximation of twice the
signed area of the triangle defined by the three points. This
function uses adaptive floating point arithmetic and is
consequently geometrically robust.