PostGIS  3.0.6dev-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 POINT2D pointer into the POINTARRAY serialized_ptlist, suitable for reading from.
Definition: lwinline.h:103
double ymax
Definition: liblwgeom.h:343
double zmax
Definition: liblwgeom.h:345
double xmax
Definition: liblwgeom.h:341
double zmin
Definition: liblwgeom.h:344
double ymin
Definition: liblwgeom.h:342
double xmin
Definition: liblwgeom.h:340
double z
Definition: liblwgeom.h:388
double x
Definition: liblwgeom.h:388
double y
Definition: liblwgeom.h:388
uint32_t npoints
Definition: liblwgeom.h:413

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: