PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ gserialized2_from_gbox()

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

Definition at line 1099 of file gserialized2.c.

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