231 else if (((box->
xmin == box->
xmax ||
268 &points[0], &points[1], &points[2], &points[3]);
285 &points[0], &points[1], &points[2], &points[3]);
302 &points[0], &points[1], &points[2], &points[3]);
310 static const int ngeoms = 6;
326 &points[0], &points[1], &points[2], &points[3]));
329 &points[4], &points[7], &points[6], &points[5]));
332 &points[0], &points[4], &points[5], &points[1]));
335 &points[3], &points[2], &points[6], &points[7]));
338 &points[0], &points[3], &points[7], &points[4]));
341 &points[1], &points[5], &points[6], &points[2]));
354 PG_RETURN_POINTER(result);
#define FLAGS_SET_SOLID(flags, value)
LWCOLLECTION * lwcollection_construct(uint8_t type, int srid, GBOX *bbox, uint32_t ngeoms, LWGEOM **geoms)
POINTARRAY * ptarray_construct_empty(char hasz, char hasm, uint32_t maxpoints)
Create a new POINTARRAY with no points.
void lwpoint_free(LWPOINT *pt)
void lwline_free(LWLINE *line)
void gserialized_set_srid(GSERIALIZED *s, int32_t srid)
Write the SRID into the serialized form (it is packed into three bytes so this is a handy function)...
#define POLYHEDRALSURFACETYPE
LWGEOM * lwpoly_as_lwgeom(const LWPOLY *obj)
LWGEOM * lwline_as_lwgeom(const LWLINE *obj)
int ptarray_append_point(POINTARRAY *pa, const POINT4D *pt, int allow_duplicates)
Append a point to the end of an existing POINTARRAY If allow_duplicate is LW_FALSE, then a duplicate point will not be added.
void lwpoly_free(LWPOLY *poly)
#define LW_TRUE
Return types for functions with status returns.
LWLINE * lwline_construct(int srid, GBOX *bbox, POINTARRAY *points)
#define SRID_UNKNOWN
Unknown SRID value.
GSERIALIZED * geometry_serialize(LWGEOM *lwgeom)
void lwcollection_free(LWCOLLECTION *col)
LWGEOM * lwpoint_as_lwgeom(const LWPOINT *obj)
LWPOINT * lwpoint_construct(int srid, GBOX *bbox, POINTARRAY *point)
void * lwalloc(size_t size)
LWPOLY * lwpoly_construct_rectangle(char hasz, char hasm, POINT4D *p1, POINT4D *p2, POINT4D *p3, POINT4D *p4)