PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ gserialized2_from_gbox()

static size_t gserialized2_from_gbox ( const GBOX gbox,
uint8_t *  buf 
)
static

Definition at line 1100 of file gserialized2.c.

1101 {
1102  uint8_t *loc = buf;
1103  float *f;
1104  uint8_t i = 0;
1105  size_t return_size;
1106 
1107  assert(buf);
1108 
1109  f = (float *)buf;
1110  f[i++] = next_float_down(gbox->xmin);
1111  f[i++] = next_float_up(gbox->xmax);
1112  f[i++] = next_float_down(gbox->ymin);
1113  f[i++] = next_float_up(gbox->ymax);
1114  loc += 4 * sizeof(float);
1115 
1116  if (FLAGS_GET_GEODETIC(gbox->flags))
1117  {
1118  f[i++] = next_float_down(gbox->zmin);
1119  f[i++] = next_float_up(gbox->zmax);
1120  loc += 2 * sizeof(float);
1121 
1122  return_size = (size_t)(loc - buf);
1123  LWDEBUGF(4, "returning size %zu", return_size);
1124  return return_size;
1125  }
1126 
1127  if (FLAGS_GET_Z(gbox->flags))
1128  {
1129  f[i++] = next_float_down(gbox->zmin);
1130  f[i++] = next_float_up(gbox->zmax);
1131  loc += 2 * sizeof(float);
1132  }
1133 
1134  if (FLAGS_GET_M(gbox->flags))
1135  {
1136  f[i++] = next_float_down(gbox->mmin);
1137  f[i++] = next_float_up(gbox->mmax);
1138  loc += 2 * sizeof(float);
1139  }
1140  return_size = (size_t)(loc - buf);
1141  LWDEBUGF(4, "returning size %zu", return_size);
1142  return return_size;
1143 }
#define FLAGS_GET_Z(flags)
Definition: liblwgeom.h:165
#define FLAGS_GET_M(flags)
Definition: liblwgeom.h:166
float next_float_up(double d)
Definition: lwgeom_api.c:74
float next_float_down(double d)
Definition: lwgeom_api.c:53
#define FLAGS_GET_GEODETIC(flags)
Definition: liblwgeom.h:168
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:106
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 mmax
Definition: liblwgeom.h:361
double ymin
Definition: liblwgeom.h:356
double xmin
Definition: liblwgeom.h:354
double mmin
Definition: liblwgeom.h:360
lwflags_t flags
Definition: liblwgeom.h:353

References GBOX::flags, FLAGS_GET_GEODETIC, FLAGS_GET_M, FLAGS_GET_Z, LWDEBUGF, GBOX::mmax, GBOX::mmin, next_float_down(), next_float_up(), GBOX::xmax, GBOX::xmin, GBOX::ymax, GBOX::ymin, GBOX::zmax, and GBOX::zmin.

Referenced by gserialized2_from_lwgeom().

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