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

◆ gbox_is_valid()

int gbox_is_valid ( const GBOX gbox)
extern

Return false if any of the dimensions is NaN or infinite.

Definition at line 197 of file gbox.c.

198{
199 /* X */
200 if ( ! isfinite(gbox->xmin) || isnan(gbox->xmin) ||
201 ! isfinite(gbox->xmax) || isnan(gbox->xmax) )
202 return LW_FALSE;
203
204 /* Y */
205 if ( ! isfinite(gbox->ymin) || isnan(gbox->ymin) ||
206 ! isfinite(gbox->ymax) || isnan(gbox->ymax) )
207 return LW_FALSE;
208
209 /* Z */
210 if ( FLAGS_GET_GEODETIC(gbox->flags) || FLAGS_GET_Z(gbox->flags) )
211 {
212 if ( ! isfinite(gbox->zmin) || isnan(gbox->zmin) ||
213 ! isfinite(gbox->zmax) || isnan(gbox->zmax) )
214 return LW_FALSE;
215 }
216
217 /* M */
218 if ( FLAGS_GET_M(gbox->flags) )
219 {
220 if ( ! isfinite(gbox->mmin) || isnan(gbox->mmin) ||
221 ! isfinite(gbox->mmax) || isnan(gbox->mmax) )
222 return LW_FALSE;
223 }
224
225 return LW_TRUE;
226}
#define LW_FALSE
Definition liblwgeom.h:108
#define FLAGS_GET_Z(flags)
Definition liblwgeom.h:179
#define FLAGS_GET_M(flags)
Definition liblwgeom.h:180
#define LW_TRUE
Return types for functions with status returns.
Definition liblwgeom.h:107
#define FLAGS_GET_GEODETIC(flags)
Definition liblwgeom.h:182
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 mmax
Definition liblwgeom.h:347
double ymin
Definition liblwgeom.h:342
double xmin
Definition liblwgeom.h:340
double mmin
Definition liblwgeom.h:346
lwflags_t flags
Definition liblwgeom.h:339

References GBOX::flags, FLAGS_GET_GEODETIC, FLAGS_GET_M, FLAGS_GET_Z, LW_FALSE, LW_TRUE, GBOX::mmax, GBOX::mmin, GBOX::xmax, GBOX::xmin, GBOX::ymax, GBOX::ymin, GBOX::zmax, and GBOX::zmin.

Referenced by compute_gserialized_stats_mode().

Here is the caller graph for this function: