Checks if any edges of lwpoly intersect with the line formed by the pointarray return LW_TRUE if any intersection between the given polygon and the line.
Definition at line 2581 of file lwgeodetic.c.
2582{
2583 uint32_t i, j, k;
2585 for (i = 0; i < lwpoly->
nrings; i++)
2586 {
2588 {
2591
2592
2595
2596 for (k = 0; k < line->
npoints - 1; k++)
2597 {
2600
2601
2604
2606
2607
2610 {
2612 }
2613 }
2614 }
2615 }
2616
2618}
#define LW_TRUE
Return types for functions with status returns.
void ll2cart(const POINT2D *g, POINT3D *p)
Convert lon/lat coordinates to cartesian coordinates on unit sphere.
uint32_t edge_intersects(const POINT3D *A1, const POINT3D *A2, const POINT3D *B1, const POINT3D *B2)
Returns non-zero if edges A and B interact.
#define PIR_B_TOUCH_RIGHT
static const POINT2D * getPoint2d_cp(const POINTARRAY *pa, uint32_t n)
Returns a POINT2D pointer into the POINTARRAY serialized_ptlist, suitable for reading from.
References edge_intersects(), getPoint2d_cp(), ll2cart(), LW_FALSE, LW_TRUE, POINTARRAY::npoints, LWPOLY::nrings, PIR_B_TOUCH_RIGHT, PIR_COLINEAR, PIR_INTERSECTS, and LWPOLY::rings.
Referenced by lwpoly_covers_lwline(), and lwpoly_covers_lwpoly().