590 line2pts(
"LINESTRING(58.5112113206308 0, 58.511211320077201 0.00090193752520337797)", &A1, &A2);
591 line2pts(
"LINESTRING(58.511166525601702 0.00027058124084120699, 58.511166525562899 0.00036077498778824899)", &B1, &B2);
596 line2pts(
"LINESTRING(50 -10.999999999999998224, -10.0 50.0)", &A1, &A2);
597 line2pts(
"LINESTRING(-10.0 50.0, -10.272779983831613393 -16.937003313332997578)", &B1, &B2);
602 g.
lat = 0.74123572595649878103;
603 g.
lon = -2.1496353191142714145;
605 g.
lat = 0.74123631950116664058;
606 g.
lon = -2.1496353248304860273;
608 g.
lat = 0.73856343764436815924;
609 g.
lon = -2.1461493501950630325;
611 g.
lat = 0.70971354024834598651;
612 g.
lon = 2.1082194552519770703;
618 g.
lat = 0.73826546728290887156;
619 g.
lon = -2.14426380171833042;
621 g.
lat = 0.73826545883786642843;
622 g.
lon = -2.1442638997530165668;
624 g.
lat = 0.73775469118192538165;
625 g.
lon = -2.1436035534281718817;
627 g.
lat = 0.71021099548296817705;
628 g.
lon = 2.1065275171200439353;
634 line2pts(
"LINESTRING(-123.165031277506 42.4696787216231, -123.165031605021 42.4697127292275)", &A1, &A2);
639 line2pts(
"LINESTRING(-1.0 0.0, 1.0 0.0)", &A1, &A2);
640 line2pts(
"LINESTRING(0.0 -1.0, 0.0 1.0)", &B1, &B2);
645 line2pts(
"LINESTRING(-1.0 0.0, 1.0 0.0)", &A1, &A2);
646 line2pts(
"LINESTRING(0.0 -1.0, 0.0 -2.0)", &B1, &B2);
651 line2pts(
"LINESTRING(-1.0 0.0, 1.0 0.0)", &A1, &A2);
652 line2pts(
"LINESTRING(0.0 -1.0, 0.0 0.0)", &B1, &B2);
657 line2pts(
"LINESTRING(0.0 0.0, 1.0 0.0)", &A1, &A2);
658 line2pts(
"LINESTRING(0.0 -1.0, 0.0 0.0)", &B1, &B2);
663 line2pts(
"LINESTRING(-179.0 -1.0, 179.0 1.0)", &A1, &A2);
664 line2pts(
"LINESTRING(-179.0 1.0, 179.0 -1.0)", &B1, &B2);
669 line2pts(
"LINESTRING(-170.0 0.0, 170.0 0.0)", &A1, &A2);
670 line2pts(
"LINESTRING(180.0 -10.0, 180.0 10.0)", &B1, &B2);
675 line2pts(
"LINESTRING(-180.0 80.0, 0.0 80.0)", &A1, &A2);
676 line2pts(
"LINESTRING(90.0 80.0, -90.0 80.0)", &B1, &B2);
681 line2pts(
"LINESTRING(45.0 10.0, 50.0 20.0)", &A1, &A2);
682 line2pts(
"LINESTRING(45.0 10.0, 50.0 20.0)", &B1, &B2);
687 line2pts(
"LINESTRING(40.0 0.0, 70.0 0.0)", &A1, &A2);
688 line2pts(
"LINESTRING(60.0 0.0, 50.0 0.0)", &B1, &B2);
693 line2pts(
"LINESTRING(-180.0 80.0, 0.0 80.0)", &A1, &A2);
694 line2pts(
"LINESTRING(90.0 80.0, -90.0 90.0)", &B1, &B2);
699 line2pts(
"LINESTRING(-180.0 80.0, 0.0 90.0)", &A1, &A2);
700 line2pts(
"LINESTRING(90.0 80.0, -90.0 90.0)", &B1, &B2);
708 line2pts(
"LINESTRING(90.0 60.0, 90.0 -20.0)", &A1, &A2);
709 line2pts(
"LINESTRING(0.0 0.0, -90.04868865037885 -57.44011727050777)", &B1, &B2);
713 line2pts(
"LINESTRING(-5 0, 5 0)", &A1, &A2);
714 line2pts(
"LINESTRING(179 -5, 179 5)", &B1, &B2);
718 line2pts(
"LINESTRING(175 -85, 175 85)", &A1, &A2);
719 line2pts(
"LINESTRING(65 0, -105 0)", &B1, &B2);
723 line2pts(
"LINESTRING(175 -85, 175 85)", &A1, &A2);
724 line2pts(
"LINESTRING(45 0, -125 0)", &B1, &B2);
#define PIR_B_TOUCH_RIGHT
#define PIR_A_TOUCH_RIGHT
static void line2pts(const char *wkt, POINT3D *A1, POINT3D *A2)
Point in spherical coordinates on the world.
void geog2cart(const GEOGRAPHIC_POINT *g, POINT3D *p)
Convert spherical coordinates to cartesion coordinates on unit sphere.
int edge_intersects(const POINT3D *A1, const POINT3D *A2, const POINT3D *B1, const POINT3D *B2)
Returns non-zero if edges A and B interact.