PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ ptarray_calculate_gbox_cartesian_3d()

static void ptarray_calculate_gbox_cartesian_3d ( const POINTARRAY pa,
GBOX gbox 
)
static

Definition at line 556 of file gbox.c.

557 {
558  const POINT3D *p = getPoint3d_cp(pa, 0);
559 
560  gbox->xmax = gbox->xmin = p->x;
561  gbox->ymax = gbox->ymin = p->y;
562  gbox->zmax = gbox->zmin = p->z;
563 
564  for (uint32_t i = 1; i < pa->npoints; i++)
565  {
566  p = getPoint3d_cp(pa, i);
567  gbox->xmin = FP_MIN(gbox->xmin, p->x);
568  gbox->xmax = FP_MAX(gbox->xmax, p->x);
569  gbox->ymin = FP_MIN(gbox->ymin, p->y);
570  gbox->ymax = FP_MAX(gbox->ymax, p->y);
571  gbox->zmin = FP_MIN(gbox->zmin, p->z);
572  gbox->zmax = FP_MAX(gbox->zmax, p->z);
573  }
574 }
#define FP_MAX(A, B)
#define FP_MIN(A, B)
static const POINT3D * getPoint3d_cp(const POINTARRAY *pa, uint32_t n)
Returns a POINT3D pointer into the POINTARRAY serialized_ptlist, suitable for reading from.
Definition: lwinline.h:113
double ymax
Definition: liblwgeom.h:357
double zmax
Definition: liblwgeom.h:359
double xmax
Definition: liblwgeom.h:355
double zmin
Definition: liblwgeom.h:358
double ymin
Definition: liblwgeom.h:356
double xmin
Definition: liblwgeom.h:354
double z
Definition: liblwgeom.h:402
double x
Definition: liblwgeom.h:402
double y
Definition: liblwgeom.h:402
uint32_t npoints
Definition: liblwgeom.h:427

References FP_MAX, FP_MIN, getPoint3d_cp(), POINTARRAY::npoints, POINT3D::x, GBOX::xmax, GBOX::xmin, POINT3D::y, GBOX::ymax, GBOX::ymin, POINT3D::z, GBOX::zmax, and GBOX::zmin.

Referenced by ptarray_calculate_gbox_cartesian().

Here is the call graph for this function:
Here is the caller graph for this function: