POSTGIS_DEBUG(2, "hausdorff_distance called");
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
if ( gserialized_is_empty(geom1) || gserialized_is_empty(geom2) )
PG_RETURN_NULL();
int retcode;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
densifyFrac = PG_GETARG_FLOAT8(2);
if ( gserialized_is_empty(geom1) || gserialized_is_empty(geom2) )
POSTGIS_DEBUG(2, "in ST_UnaryUnion");
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
/* UnaryUnion(empty) == (empty) */
if ( gserialized_is_empty(geom1) )
int srid;
GBOX bbox;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
/* Empty.ConvexHull() == Empty */
if ( gserialized_is_empty(geom1) )
GEOSGeometry *g1, *g3;
GSERIALIZED *result;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
tolerance = PG_GETARG_FLOAT8(1);
/* Empty.Simplify() == Empty */
char *params = NULL;
LWGEOM *lwg;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
size = PG_GETARG_FLOAT8(1);
/* Empty.Buffer() == Empty[polygon] */
GSERIALIZED *result;
LWGEOM *lwgeom1, *lwgeom2, *lwresult ;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
lwgeom1 = lwgeom_from_gserialized(geom1) ;
lwgeom2 = lwgeom_from_gserialized(geom2) ;
GSERIALIZED *result;
LWGEOM *lwgeom1, *lwgeom2, *lwresult ;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
lwgeom1 = lwgeom_from_gserialized(geom1) ;
lwgeom2 = lwgeom_from_gserialized(geom2) ;
const GBOX *bbox1;
const GBOX *bbox2;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
lwgeom1 = lwgeom_from_gserialized(geom1) ;
bbox1 = lwgeom_get_bbox(lwgeom1);
int result;
PrepGeomCache *prep_cache;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
errorIfGeometryCollection(geom1,geom2);
error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2));
GBOX box1, box2;
PrepGeomCache * prep_cache;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
errorIfGeometryCollection(geom1,geom2);
error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2));
RTREE_POLY_CACHE *poly_cache;
PrepGeomCache *prep_cache;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
/* A.Covers(Empty) == FALSE */
if ( gserialized_is_empty(geom1) || gserialized_is_empty(geom2) )
GEOSGeometry *g1, *g2;
int i;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
/* TODO handle empty */
POSTGIS_DEBUG(2, "issimple called");
- geom = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+ geom = PG_GETARG_GSERIALIZED_P(0);
if ( gserialized_is_empty(geom) )
PG_RETURN_BOOL(TRUE);
GEOSGeometry *g1, *g3;
GSERIALIZED *result;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
initGEOS(lwnotice, lwgeom_geos_error);
LWGEOM *lwgeom1, *lwgeom2, *lwresult;
double tolerance;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
tolerance = PG_GETARG_FLOAT8(2);
lwgeom1 = lwgeom_from_gserialized(geom1);
GSERIALIZED *geom1, *geom2, *out;
LWGEOM *g1, *g2, *lwgeom_out;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
- geom2 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
+ geom2 = PG_GETARG_GSERIALIZED_P(1);
g1 = lwgeom_from_gserialized(geom1);
g2 = lwgeom_from_gserialized(geom2);
GSERIALIZED *geom1, *out;
LWGEOM *g1, *lwgeom_out;
- geom1 = (GSERIALIZED *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+ geom1 = PG_GETARG_GSERIALIZED_P(0);
g1 = lwgeom_from_gserialized(geom1);