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

◆ gbox_union()

int gbox_union ( const GBOX g1,
const GBOX g2,
GBOX gout 
)
extern

Update the output GBOX to be large enough to include both inputs.

Definition at line 135 of file gbox.c.

136{
137 if ( ( ! g1 ) && ( ! g2 ) )
138 return LW_FALSE;
139 else if (!g1)
140 {
141 memcpy(gout, g2, sizeof(GBOX));
142 return LW_TRUE;
143 }
144 else if (!g2)
145 {
146 memcpy(gout, g1, sizeof(GBOX));
147 return LW_TRUE;
148 }
149
150 gout->flags = g1->flags;
151
152 gout->xmin = FP_MIN(g1->xmin, g2->xmin);
153 gout->xmax = FP_MAX(g1->xmax, g2->xmax);
154
155 gout->ymin = FP_MIN(g1->ymin, g2->ymin);
156 gout->ymax = FP_MAX(g1->ymax, g2->ymax);
157
158 gout->zmin = FP_MIN(g1->zmin, g2->zmin);
159 gout->zmax = FP_MAX(g1->zmax, g2->zmax);
160
161 return LW_TRUE;
162}
#define LW_FALSE
Definition liblwgeom.h:94
#define LW_TRUE
Return types for functions with status returns.
Definition liblwgeom.h:93
#define FP_MAX(A, B)
#define FP_MIN(A, B)
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
lwflags_t flags
Definition liblwgeom.h:353

References GBOX::flags, FP_MAX, FP_MIN, LW_FALSE, LW_TRUE, GBOX::xmax, GBOX::xmin, GBOX::ymax, GBOX::ymin, GBOX::zmax, and GBOX::zmin.

Referenced by BOX2D_union(), geography_bestsrid(), and lwt_ChangeEdgeGeom().

Here is the caller graph for this function: