382 for (uint32_t i = 0; i < c->
ngeoms; i++)
390 is_inside = !is_inside;
404 is_inside = !is_inside;
422 AFFINE aff = {1, 0, cx, 0, 1, cy, 0, 0, 1, 0, 0, 0};
int lwgeom_startpoint(const LWGEOM *lwgeom, POINT4D *pt)
void lwgeom_free(LWGEOM *geom)
LWGEOM * lwgeom_clone_deep(const LWGEOM *lwgeom)
Deep clone an LWGEOM, everything is copied.
void lwgeom_affine(LWGEOM *geom, const AFFINE *affine)
LWCOLLECTION * lwgeom_clip_to_ordinate_range(const LWGEOM *lwin, char ordinate, double from, double to, double offset)
Given a geometry clip based on the from/to range of one of its ordinates (x, y, z,...
void lwcollection_free(LWCOLLECTION *col)
#define FLAGS_GET_SOLID(flags)
const GBOX * lwgeom_get_bbox(const LWGEOM *lwgeom)
Get a non-empty geometry bounding box, computing and caching it if not already there.
#define LW_TRUE
Return types for functions with status returns.
#define LW_INSIDE
Constants for point-in-polygon return values.
int ptarray_contains_point(const POINTARRAY *pa, const POINT2D *pt)
Return 1 if the point is inside the POINTARRAY, -1 if it is outside, and 0 if it is on the boundary.
int lwpoly_contains_point(const LWPOLY *poly, const POINT2D *pt)
double lwrandom_uniform(void)
static int gbox_contains_3d(const GBOX *g1, const GBOX *g2)