size_t defidlen = strlen(defid);
LWGEOM *subgeom;
- size = sizeof("<MultiGeometry></MultiGeometry>") + defidlen*2;
+ //size = sizeof("<MultiGeometry></MultiGeometry>") + defidlen*2;
+ size = defidlen*2;
if ( srs )
size += strlen(srs) + sizeof(" srsName=..");
for (i=0; i<col->ngeoms; i++)
{
subgeom = col->geoms[i];
- size += ( sizeof("<geometryMember>/") + defidlen ) * 2;
+ //size += ( sizeof("<geometryMember>/") + defidlen ) * 2;
if ( subgeom->type == POINTTYPE )
{
size += asx3d3_point_size((LWPOINT*)subgeom, 0, precision, opts, defid);
{
size += asx3d3_poly_size((LWPOLY*)subgeom, 0, precision, opts, defid);
}
+ else if ( subgeom->type == TINTYPE )
+ {
+ size += asx3d3_tin_size((LWTIN*)subgeom, 0, precision, opts, defid);
+ }
+ else if ( subgeom->type == POLYHEDRALSURFACETYPE )
+ {
+ size += asx3d3_psurface_size((LWPSURFACE*)subgeom, 0, precision, opts, defid);
+ }
else if ( lwgeom_is_collection(subgeom) )
{
size += asx3d3_multi_size((LWCOLLECTION*)subgeom, 0, precision, opts, defid);
{
ptr += asx3d3_tin_buf((LWTIN*)subgeom, srs, ptr, precision, opts, defid);
+ }
+ else if ( subgeom->type == POLYHEDRALSURFACETYPE )
+ {
+ ptr += asx3d3_psurface_buf((LWPSURFACE*)subgeom, srs, ptr, precision, opts, defid);
+
}
else if ( lwgeom_is_collection(subgeom) )
{