Definition at line 1034 of file lwout_gml.c.
References LWPOLY::flags, FLAGS_GET_Z, IS_DIMS, lwpoly_is_empty(), LWPOLY::nrings, pointArray_toGML3(), and LWPOLY::rings.
Referenced by asgml3_collection_buf(), asgml3_multi_buf(), asgml3_multisurface_buf(), asgml3_poly(), and asgml3_psurface_buf().
1043 ptr += sprintf(ptr,
"<%sPolygonPatch", prefix);
1048 ptr += sprintf(ptr,
"<%sPolygon", prefix);
1051 if (srs) ptr += sprintf(ptr,
" srsName=\"%s\"", srs);
1052 if (
id) ptr += sprintf(ptr,
" %sid=\"%s\"", prefix,
id);
1056 ptr += sprintf(ptr,
"/>");
1057 return (ptr-output);
1059 ptr += sprintf(ptr,
">");
1061 ptr += sprintf(ptr,
"<%sexterior><%sLinearRing>", prefix, prefix);
1062 if (
IS_DIMS(
opts)) ptr += sprintf(ptr,
"<%sposList srsDimension=\"%d\">", prefix, dimension);
1063 else ptr += sprintf(ptr,
"<%sposList>", prefix);
1066 ptr += sprintf(ptr,
"</%sposList></%sLinearRing></%sexterior>",
1067 prefix, prefix, prefix);
1068 for (i=1; i<poly->
nrings; i++)
1070 ptr += sprintf(ptr,
"<%sinterior><%sLinearRing>", prefix, prefix);
1071 if (
IS_DIMS(
opts)) ptr += sprintf(ptr,
"<%sposList srsDimension=\"%d\">", prefix, dimension);
1072 else ptr += sprintf(ptr,
"<%sposList>", prefix);
1074 ptr += sprintf(ptr,
"</%sposList></%sLinearRing></%sinterior>",
1075 prefix, prefix, prefix);
1077 if (is_patch) ptr += sprintf(ptr,
"</%sPolygonPatch>", prefix);
1078 else ptr += sprintf(ptr,
"</%sPolygon>", prefix);
1080 return (ptr-output);
int lwpoly_is_empty(const LWPOLY *poly)
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
static size_t pointArray_toGML3(POINTARRAY *pa, char *buf, int precision, int opts)