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

◆ gserialized2_from_gbox()

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

Definition at line 1130 of file gserialized2.c.

1131{
1132 uint8_t *loc = buf;
1133 float f;
1134 size_t return_size;
1135
1136 assert(buf);
1137
1138 f = next_float_down(gbox->xmin);
1139 memcpy(loc, &f, sizeof(float));
1140 loc += sizeof(float);
1141
1142 f = next_float_up(gbox->xmax);
1143 memcpy(loc, &f, sizeof(float));
1144 loc += sizeof(float);
1145
1146 f = next_float_down(gbox->ymin);
1147 memcpy(loc, &f, sizeof(float));
1148 loc += sizeof(float);
1149
1150 f = next_float_up(gbox->ymax);
1151 memcpy(loc, &f, sizeof(float));
1152 loc += sizeof(float);
1153
1154 if (FLAGS_GET_GEODETIC(gbox->flags))
1155 {
1156 f = next_float_down(gbox->zmin);
1157 memcpy(loc, &f, sizeof(float));
1158 loc += sizeof(float);
1159
1160 f = next_float_up(gbox->zmax);
1161 memcpy(loc, &f, sizeof(float));
1162 loc += sizeof(float);
1163
1164 return_size = (size_t)(loc - buf);
1165 LWDEBUGF(4, "returning size %d", return_size);
1166 return return_size;
1167 }
1168
1169 if (FLAGS_GET_Z(gbox->flags))
1170 {
1171 f = next_float_down(gbox->zmin);
1172 memcpy(loc, &f, sizeof(float));
1173 loc += sizeof(float);
1174
1175 f = next_float_up(gbox->zmax);
1176 memcpy(loc, &f, sizeof(float));
1177 loc += sizeof(float);
1178
1179 }
1180
1181 if (FLAGS_GET_M(gbox->flags))
1182 {
1183 f = next_float_down(gbox->mmin);
1184 memcpy(loc, &f, sizeof(float));
1185 loc += sizeof(float);
1186
1187 f = next_float_up(gbox->mmax);
1188 memcpy(loc, &f, sizeof(float));
1189 loc += sizeof(float);
1190 }
1191 return_size = (size_t)(loc - buf);
1192 LWDEBUGF(4, "returning size %d", return_size);
1193 return return_size;
1194}
#define FLAGS_GET_Z(flags)
Definition liblwgeom.h:179
#define FLAGS_GET_M(flags)
Definition liblwgeom.h:180
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:182
#define LWDEBUGF(level, msg,...)
Definition lwgeom_log.h:88
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, 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: