From 396571d79c422711347871dc15a443e88eaca1a5 Mon Sep 17 00:00:00 2001 From: "Thomas G. Lockhart" Date: Thu, 29 Oct 1998 18:11:28 +0000 Subject: [PATCH] Very minor cleanup of no-op code. --- src/backend/utils/adt/geo_ops.c | 75 ++++----------------------------- 1 file changed, 9 insertions(+), 66 deletions(-) diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c index 53d48c45c0..3576e6d9ed 100644 --- a/src/backend/utils/adt/geo_ops.c +++ b/src/backend/utils/adt/geo_ops.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_ops.c,v 1.38 1998/10/26 01:01:33 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_ops.c,v 1.39 1998/10/29 18:11:28 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -2733,18 +2733,6 @@ on_pb(Point *pt, BOX *box) bool on_ppath(Point *pt, PATH *path) { -#if FALSE - int above, - next, /* is the seg above the ray? */ - inter, /* # of times path crosses ray */ - hi; /* index inc of higher seg (0,1) */ - double x, - yh, - yl, - xh, - xl; - -#endif int i, n; double a, @@ -2753,8 +2741,9 @@ on_ppath(Point *pt, PATH *path) if (!PointerIsValid(pt) || !PointerIsValid(path)) return FALSE; + /*-- OPEN --*/ if (!path->closed) - { /*-- OPEN --*/ + { n = path->npts - 1; a = point_dt(pt, &path->p[0]); for (i = 0; i < n; i++) @@ -2768,58 +2757,8 @@ on_ppath(Point *pt, PATH *path) return FALSE; } + /*-- CLOSED --*/ return point_inside(pt, path->npts, path->p); -#if FALSE - inter = 0; /*-- CLOSED --*/ - above = FPgt(path->p[0].y, pt->y) ? ABOVE : - FPlt(path->p[0].y, pt->y) ? BELOW : UNDEF; - - for (i = 0; i < path->npts; i++) - { - hi = path->p[i].y < path->p[NEXT(i)].y; - - /* - * must take care of wrap around to original vertex for closed - * paths - */ - yh = (i + hi < path->npts) ? path->p[i + hi].y : path->p[0].y; - yl = (i + !hi < path->npts) ? path->p[i + !hi].y : path->p[0].y; - hi = path->p[i].x < path->p[NEXT(i)].x; - xh = (i + hi < path->npts) ? path->p[i + hi].x : path->p[0].x; - xl = (i + !hi < path->npts) ? path->p[i + !hi].x : path->p[0].x; - /* skip seg if it doesn't touch the ray */ - - if (FPeq(yh, yl)) /* horizontal seg? */ - if (FPge(pt->x, xl) && FPle(pt->x, xh) && - FPeq(pt->y, yh)) - return TRUE; /* pt lies on seg */ - else - continue; /* skip other hz segs */ - if (FPlt(yh, pt->y) || /* pt is strictly below seg */ - FPgt(yl, pt->y)) /* strictly above */ - continue; - - /* seg touches the ray, find out where */ - - x = FPeq(xh, xl) /* vertical seg? */ - ? path->p[i].x - : (pt->y - path->p[i].y) / - point_sl(&path->p[i], - &path->p[NEXT(i)]) + - path->p[i].x; - if (FPeq(x, pt->x)) /* pt lies on this seg */ - return TRUE; - - /* does the seg actually cross the ray? */ - - next = FPgt(path->p[NEXT(i)].y, pt->y) ? ABOVE : - FPlt(path->p[NEXT(i)].y, pt->y) ? BELOW : above; - inter += FPge(x, pt->x) && next != above; - above = next; - } - return (above == UNDEF || /* path is horizontal */ - inter % 2); /* odd # of intersections */ -#endif } /* on_ppath() */ @@ -3577,9 +3516,13 @@ path_contain_pt(PATH *path, Point *p) if (!PointerIsValid(path) || !PointerIsValid(p)) return FALSE; - return (path->closed ? (point_inside(p, path->npts, &(path->p[0])) != 0) : FALSE); + return (on_ppath(p, path)); } /* path_contain_pt() */ +/* pt_contained_path + * Point in or on path? This is the same as on_ppath. + * - thomas 1998-10-29 + */ bool pt_contained_path(Point *p, PATH *path) { -- 2.40.0