From: Sandro Santilli Date: Mon, 4 Jul 2011 11:24:37 +0000 (+0000) Subject: Add missing circular types to geomtype_struct_array, fixing bug #1094 X-Git-Tag: 2.0.0alpha1~1267 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1fc2d96a2b18b175f372470fcfeecbfe201c5cbe;p=postgis Add missing circular types to geomtype_struct_array, fixing bug #1094 git-svn-id: http://svn.osgeo.org/postgis/trunk@7575 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/liblwgeom/g_util.c b/liblwgeom/g_util.c index ea461c844..3b918f62b 100644 --- a/liblwgeom/g_util.c +++ b/liblwgeom/g_util.c @@ -33,46 +33,82 @@ struct geomtype_struct geomtype_struct_array[] = { "GEOMETRYCOLLECTIONZ", COLLECTIONTYPE, 1, 0 }, { "GEOMETRYCOLLECTIONM", COLLECTIONTYPE, 0, 1 }, { "GEOMETRYCOLLECTION", COLLECTIONTYPE, 0, 0 }, + { "GEOMETRYZM", 0, 1, 1 }, { "GEOMETRYZ", 0, 1, 0 }, { "GEOMETRYM", 0, 0, 1 }, { "GEOMETRY", 0, 0, 0 }, + { "POLYHEDRALSURFACEZM", POLYHEDRALSURFACETYPE, 1, 1 }, { "POLYHEDRALSURFACEZ", POLYHEDRALSURFACETYPE, 1, 0 }, { "POLYHEDRALSURFACEM", POLYHEDRALSURFACETYPE, 0, 1 }, { "POLYHEDRALSURFACE", POLYHEDRALSURFACETYPE, 0, 0 }, + { "TINZM", TINTYPE, 1, 1 }, { "TINZ", TINTYPE, 1, 0 }, { "TINM", TINTYPE, 0, 1 }, { "TIN", TINTYPE, 0, 0 }, + + { "CIRCULARSTRINGZM", CIRCSTRINGTYPE, 1, 1 }, + { "CIRCULARSTRINGZ", CIRCSTRINGTYPE, 1, 0 }, + { "CIRCULARSTRINGM", CIRCSTRINGTYPE, 0, 1 }, + { "CIRCULARSTRING", CIRCSTRINGTYPE, 0, 0 }, + + { "COMPOUNDCURVEZM", COMPOUNDTYPE, 1, 1 }, + { "COMPOUNDCURVEZ", COMPOUNDTYPE, 1, 0 }, + { "COMPOUNDCURVEM", COMPOUNDTYPE, 0, 1 }, + { "COMPOUNDCURVE", COMPOUNDTYPE, 0, 0 }, + + { "CURVEPOLYGONZM", CURVEPOLYTYPE, 1, 1 }, + { "CURVEPOLYGONZ", CURVEPOLYTYPE, 1, 0 }, + { "CURVEPOLYGONM", CURVEPOLYTYPE, 0, 1 }, + { "CURVEPOLYGON", CURVEPOLYTYPE, 0, 0 }, + + { "MULTICURVEZM", MULTICURVETYPE, 1, 1 }, + { "MULTICURVEZ", MULTICURVETYPE, 1, 0 }, + { "MULTICURVEM", MULTICURVETYPE, 0, 1 }, + { "MULTICURVE", MULTICURVETYPE, 0, 0 }, + + { "MULTISURFACEZM", MULTISURFACETYPE, 1, 1 }, + { "MULTISURFACEZ", MULTISURFACETYPE, 1, 0 }, + { "MULTISURFACEM", MULTISURFACETYPE, 0, 1 }, + { "MULTISURFACE", MULTISURFACETYPE, 0, 0 }, + { "MULTILINESTRINGZM", MULTILINETYPE, 1, 1 }, { "MULTILINESTRINGZ", MULTILINETYPE, 1, 0 }, { "MULTILINESTRINGM", MULTILINETYPE, 0, 1 }, { "MULTILINESTRING", MULTILINETYPE, 0, 0 }, + { "MULTIPOLYGONZM", MULTIPOLYGONTYPE, 1, 1 }, { "MULTIPOLYGONZ", MULTIPOLYGONTYPE, 1, 0 }, { "MULTIPOLYGONM", MULTIPOLYGONTYPE, 0, 1 }, { "MULTIPOLYGON", MULTIPOLYGONTYPE, 0, 0 }, + { "MULTIPOINTZM", MULTIPOINTTYPE, 1, 1 }, { "MULTIPOINTZ", MULTIPOINTTYPE, 1, 0 }, { "MULTIPOINTM", MULTIPOINTTYPE, 0, 1 }, { "MULTIPOINT", MULTIPOINTTYPE, 0, 0 }, + { "LINESTRINGZM", LINETYPE, 1, 1 }, { "LINESTRINGZ", LINETYPE, 1, 0 }, { "LINESTRINGM", LINETYPE, 0, 1 }, { "LINESTRING", LINETYPE, 0, 0 }, + { "TRIANGLEZM", TRIANGLETYPE, 1, 1 }, { "TRIANGLEZ", TRIANGLETYPE, 1, 0 }, { "TRIANGLEM", TRIANGLETYPE, 0, 1 }, { "TRIANGLE", TRIANGLETYPE, 0, 0 }, + { "POLYGONZM", POLYGONTYPE, 1, 1 }, { "POLYGONZ", POLYGONTYPE, 1, 0 }, { "POLYGONM", POLYGONTYPE, 0, 1 }, { "POLYGON", POLYGONTYPE, 0, 0 }, + { "POINTZM", POINTTYPE, 1, 1 }, { "POINTZ", POINTTYPE, 1, 0 }, { "POINTM", POINTTYPE, 0, 1 }, { "POINT", POINTTYPE, 0, 0 } + }; #define GEOMTYPE_STRUCT_ARRAY_LEN (sizeof geomtype_struct_array/sizeof(struct geomtype_struct))