2566 switch (lwgeom->
type)
2586 return (
LWGEOM *)lwmpoint;
2595 for (uint32_t i = 0; i < lwmline->
ngeoms; i++)
2601 for (uint32_t k = 0; k < points->
ngeoms; k++)
2606 for (uint32_t j = 0; j < n; j++)
2608 if (memcmp(&(out[j]), &pt,
sizeof(
POINT4D)) == 0)
2624 for (uint32_t i = 0; i < n; i++)
2629 return (
LWGEOM *)lwmpoint;
2640 for (uint32_t i = 0; i < lwpoly->
nrings; i++)
2655 for (uint32_t i = 0; i < lwcurvepoly->
nrings; i++)
2666 for (uint32_t i = 0; i < lwcol->
ngeoms; i++)
POINT4D getPoint4d(const POINTARRAY *pa, uint32_t n)
POINTARRAY * ptarray_clone_deep(const POINTARRAY *ptarray)
Deep clone a pointarray (also clones serialized pointlist)
LWMLINE * lwmline_add_lwline(LWMLINE *mobj, const LWLINE *obj)
LWMLINE * lwmline_construct_empty(int32_t srid, char hasz, char hasm)
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
LWLINE * lwline_construct(int32_t srid, GBOX *bbox, POINTARRAY *points)
LWMPOINT * lwmpoint_add_lwpoint(LWMPOINT *mobj, const LWPOINT *obj)
LWGEOM * lwgeom_homogenize(const LWGEOM *geom)
LWMPOINT * lwmpoint_construct_empty(int32_t srid, char hasz, char hasm)
LWCOLLECTION * lwcollection_construct_empty(uint8_t type, int32_t srid, char hasz, char hasm)
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
int getPoint4d_p(const POINTARRAY *pa, uint32_t n, POINT4D *point)
LWCOLLECTION * lwcollection_add_lwgeom(LWCOLLECTION *col, const LWGEOM *geom)
Appends geom to the collection managed by col.
void * lwalloc(size_t size)
#define LW_TRUE
Return types for functions with status returns.
LWPOINT * lwpoint_make(int32_t srid, int hasz, int hasm, const POINT4D *p)
int lwgeom_is_closed(const LWGEOM *geom)
Return true or false depending on whether a geometry is a linear feature that closes on itself.
int32_t lwgeom_get_srid(const LWGEOM *geom)
Return SRID number.
LWMPOINT * lwgeom_as_lwmpoint(const LWGEOM *lwgeom)
LWGEOM * lwgeom_clone_deep(const LWGEOM *lwgeom)
Deep-clone an LWGEOM object.
int lwgeom_has_z(const LWGEOM *geom)
Return LW_TRUE if geometry has Z ordinates.
LWGEOM * lwgeom_boundary(LWGEOM *lwgeom)
void lwgeom_free(LWGEOM *lwgeom)
int lwgeom_has_m(const LWGEOM *geom)
Return LW_TRUE if geometry has M ordinates.
LWGEOM * lwgeom_construct_empty(uint8_t type, int32_t srid, char hasz, char hasm)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)