GEOS
3.14.0dev
|
Functions to compute intersection points between lines and line segments. More...
#include <Intersection.h>
Static Public Member Functions | |
static geom::CoordinateXY | intersection (const geom::CoordinateXY &p1, const geom::CoordinateXY &p2, const geom::CoordinateXY &q1, const geom::CoordinateXY &q2) |
Computes the intersection point of two lines. If the lines are parallel or collinear this case is detected and null is returned. More... | |
static geom::CoordinateXY | intersectionLineSegment (const geom::CoordinateXY &line1, const geom::CoordinateXY &line2, const geom::CoordinateXY &seg1, const geom::CoordinateXY &seg2) |
Functions to compute intersection points between lines and line segments.
In general it is not possible to compute the intersection point of two lines exactly, due to numerical roundoff. This is particularly true when the lines are nearly parallel. These routines uses numerical conditioning on the input values to ensure that the computed value is very close to the correct value.
The Z-ordinate is ignored, and not populated.
|
static |
Computes the intersection point of two lines. If the lines are parallel or collinear this case is detected and null
is returned.
p1 | an endpoint of line 1 |
p2 | an endpoint of line 1 |
q1 | an endpoint of line 2 |
q2 | an endpoint of line 2 |
|
static |
Computes the intersection point of a line and a line segment (if any). There will be no intersection point if:
If the segment is collinear with the line the first segment endpoint is returned.
line1 | a point on the line |
line2 | a point on the line |
seg1 | an endpoint of the line segment |
seg2 | an endpoint of the line segment |