From c99397c62f968bb59420cd2887809a81643001ed Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 21 Nov 2011 08:21:41 +0000 Subject: [PATCH] Surrender to evidence of the narrow ring tested being clockwise git-svn-id: http://svn.osgeo.org/postgis/trunk@8199 b70326c6-7e19-0410-871a-916f4a2858ee --- liblwgeom/cunit/cu_libgeom.c | 3 +-- liblwgeom/cunit/cu_ptarray.c | 7 +++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/liblwgeom/cunit/cu_libgeom.c b/liblwgeom/cunit/cu_libgeom.c index 6c67e6f58..4125ea3c6 100644 --- a/liblwgeom/cunit/cu_libgeom.c +++ b/liblwgeom/cunit/cu_libgeom.c @@ -623,11 +623,10 @@ static void test_lwgeom_force_clockwise(void) lwfree(out_ewkt); lwgeom_free(geom); - /* counterclockwise, should be reversed */ + /* clockwise narrow ring, fine as-is */ /* NOTE: this is a narrow ring, see ticket #1302 */ in_ewkt = "0103000000010000000500000000917E9BA468294100917E9B8AEA2841C976BE1FA4682941C976BE9F8AEA2841B39ABE1FA46829415ACCC29F8AEA284137894120A4682941C976BE9F8AEA284100917E9BA468294100917E9B8AEA2841"; geom = lwgeom_from_hexwkb(in_ewkt, LW_PARSER_CHECK_NONE); - in_ewkt = "0103000000010000000500000000917E9BA468294100917E9B8AEA284137894120A4682941C976BE9F8AEA2841B39ABE1FA46829415ACCC29F8AEA2841C976BE1FA4682941C976BE9F8AEA284100917E9BA468294100917E9B8AEA2841"; lwgeom_force_clockwise(geom); out_ewkt = lwgeom_to_hexwkb(geom, WKB_ISO, NULL); if (strcmp(in_ewkt, out_ewkt)) diff --git a/liblwgeom/cunit/cu_ptarray.c b/liblwgeom/cunit/cu_ptarray.c index 8b6029f88..086d179d8 100644 --- a/liblwgeom/cunit/cu_ptarray.c +++ b/liblwgeom/cunit/cu_ptarray.c @@ -112,6 +112,7 @@ static void test_ptarray_locate_point(void) static void test_ptarray_isccw(void) { LWLINE *line; + LWPOLY* poly; int ccw; /* clockwise rectangle */ @@ -143,6 +144,12 @@ static void test_ptarray_isccw(void) ccw = ptarray_isccw(line->points); CU_ASSERT_EQUAL(ccw, 0); lwline_free(line); + + /* Clockwise narrow ring (see ticket #1302) */ + poly = lwgeom_as_lwpoly(lwgeom_from_hexwkb("0103000000010000000500000000917E9BA468294100917E9B8AEA2841C976BE1FA4682941C976BE9F8AEA2841B39ABE1FA46829415ACCC29F8AEA284137894120A4682941C976BE9F8AEA284100917E9BA468294100917E9B8AEA2841", LW_PARSER_CHECK_NONE)); + ccw = ptarray_isccw(poly->rings[0]); + CU_ASSERT_EQUAL(ccw, 0); + lwpoly_free(poly); } -- 2.40.0