252{
258 bool isPoly1, isPoly2, isPt1, isPt2;
259
260
262 {
263 PG_FREE_IF_COPY(g1, 0);
264 PG_FREE_IF_COPY(g2, 1);
265 PG_RETURN_BOOL(false);
266 }
267
270
275
276
277 if (isPoly1 && isPt2)
278 {
281 }
282 else if (isPoly2 && isPt1)
283 {
286 }
287
288 if (!itree)
289 elog(ERROR, "arguments to %s must a point and a polygon", __func__);
290
292}
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
int gserialized_is_empty(const GSERIALIZED *g)
Check if a GSERIALIZED is empty without deserializing first.
IntervalTreeResult itree_point_in_multipolygon(const IntervalTree *itree, const LWPOINT *point)
IntervalTree * itree_from_lwgeom(const LWGEOM *geom)
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
static LWPOINT * lwgeom_as_lwpoint(const LWGEOM *lwgeom)