@TODO: if collection should be grouped, we'll wrap in a group tag. Still needs cleanup like the shapes should really be in a transform
441{
442 uint32_t i;
444
445
448#ifdef PGIS_X3D_OUTERMOST_TAGS
450#endif
451
452 for (i=0; i<col->
ngeoms; i++)
453 {
454 subgeom = col->
geoms[i];
457 {
459 }
461 {
463 }
465 {
467 }
469 {
471
472 }
474 {
476
477 }
479 {
482 else
484 }
485 else
486 lwerror(
"asx3d3_collection_buf: unknown geometry type");
487
489 }
490
491
492#ifdef PGIS_X3D_OUTERMOST_TAGS
494#endif
495
497}
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
int lwgeom_is_collection(const LWGEOM *lwgeom)
Determine whether a LWGEOM can contain sub-geometries or not.
#define POLYHEDRALSURFACETYPE
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static int asx3d3_tin_sb(const LWTIN *tin, __attribute__((__unused__)) char *srs, int precision, int opts, const char *defid, stringbuffer_t *sb)
static int asx3d3_psurface_sb(const LWPSURFACE *psur, char *srs, int precision, int opts, const char *defid, stringbuffer_t *sb)
static int asx3d3_collection_sb(const LWCOLLECTION *col, char *srs, int precision, int opts, const char *defid, stringbuffer_t *sb)
static int asx3d3_point_sb(const LWPOINT *point, __attribute__((__unused__)) char *srs, int precision, int opts, __attribute__((__unused__)) const char *defid, stringbuffer_t *sb)
static int asx3d3_poly_sb(const LWPOLY *poly, __attribute__((__unused__)) char *srs, int precision, int opts, __attribute__((__unused__)) int is_patch, __attribute__((__unused__)) const char *defid, stringbuffer_t *sb)
Compute the X3D coordinates of the polygon and add to string buffer.
static int asx3d3_multi_sb(const LWCOLLECTION *col, __attribute__((__unused__)) char *srs, int precision, int opts, const char *defid, stringbuffer_t *sb)
static int asx3d3_line_sb(const LWLINE *line, __attribute__((__unused__)) char *srs, int precision, int opts, __attribute__((__unused__)) const char *defid, stringbuffer_t *sb)
Return the linestring as an X3D LineSet.
int stringbuffer_aprintf(stringbuffer_t *s, const char *fmt,...)
Appends a formatted string to the current string buffer, using the format and argument list provided.