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 2715 of file lwgeodetic.c.
2716{
2717 uint32_t i, j, k;
2719 for (i = 0; i < lwpoly->
nrings; i++)
2720 {
2722 {
2725
2726
2729
2730 for (k = 0; k < line->
npoints - 1; k++)
2731 {
2734
2735
2738
2740
2741
2744 {
2746 }
2747 }
2748 }
2749 }
2750
2752}
#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().