aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/geo_ops.c
diff options
context:
space:
mode:
authorThomas G. Lockhart <lockhart@fourpalms.org>1998-10-29 18:11:28 +0000
committerThomas G. Lockhart <lockhart@fourpalms.org>1998-10-29 18:11:28 +0000
commit396571d79c422711347871dc15a443e88eaca1a5 (patch)
treeed1b1a3a9c0cf7fee4fc3ee2147fe4e1bb356796 /src/backend/utils/adt/geo_ops.c
parent9b24e7fa40d9d5298b897c98e992e2a3c76f3342 (diff)
downloadpostgresql-396571d79c422711347871dc15a443e88eaca1a5.tar.gz
postgresql-396571d79c422711347871dc15a443e88eaca1a5.zip
Very minor cleanup of no-op code.
Diffstat (limited to 'src/backend/utils/adt/geo_ops.c')
-rw-r--r--src/backend/utils/adt/geo_ops.c75
1 files changed, 9 insertions, 66 deletions
diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c
index 53d48c45c05..3576e6d9edd 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)
{