PostGIS 3.6.2dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ BOX3D_combine_BOX3D()

Datum BOX3D_combine_BOX3D ( PG_FUNCTION_ARGS  )

Definition at line 531 of file lwgeom_box3d.c.

532{
533 BOX3D *box0 = (BOX3D *)(PG_ARGISNULL(0) ? NULL : PG_GETARG_POINTER(0));
534 BOX3D *box1 = (BOX3D *)(PG_ARGISNULL(1) ? NULL : PG_GETARG_POINTER(1));
535 BOX3D *result;
536
537 if (box0 && !box1)
538 PG_RETURN_POINTER(box0);
539
540 if (box1 && !box0)
541 PG_RETURN_POINTER(box1);
542
543 if (!box1 && !box0)
544 PG_RETURN_NULL();
545
546 result = palloc(sizeof(BOX3D));
547 result->xmax = Max(box0->xmax, box1->xmax);
548 result->ymax = Max(box0->ymax, box1->ymax);
549 result->zmax = Max(box0->zmax, box1->zmax);
550 result->xmin = Min(box0->xmin, box1->xmin);
551 result->ymin = Min(box0->ymin, box1->ymin);
552 result->zmin = Min(box0->zmin, box1->zmin);
553 result->srid = box0->srid;
554
555 PG_RETURN_POINTER(result);
556}
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition cu_print.c:267
double xmax
Definition liblwgeom.h:340
double zmin
Definition liblwgeom.h:339
double ymax
Definition liblwgeom.h:340
double ymin
Definition liblwgeom.h:339
double zmax
Definition liblwgeom.h:340
double xmin
Definition liblwgeom.h:339
int32_t srid
Definition liblwgeom.h:341

References result, BOX3D::srid, BOX3D::xmax, BOX3D::xmin, BOX3D::ymax, BOX3D::ymin, BOX3D::zmax, and BOX3D::zmin.