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

◆ BOX3D_out()

Datum BOX3D_out ( PG_FUNCTION_ARGS  )

Definition at line 120 of file lwgeom_box3d.c.

121{
122 BOX3D *bbox = (BOX3D *)PG_GETARG_POINTER(0);
123 static const int precision = 15;
124 static int size = OUT_MAX_BYTES_DOUBLE * 6 + 5 + 2 + 4 + 5 + 1; /* double * 6 + "BOX3D"+ "()" + commas + null */
125 int i = 0;
126 char *result;
127
128 if (bbox == NULL)
129 {
130 result = palloc(5);
131 strcat(result, "NULL");
132 PG_RETURN_CSTRING(result);
133 }
134
135 result = (char *)palloc(size);
136 result[i++] = 'B';
137 result[i++] = 'O';
138 result[i++] = 'X';
139 result[i++] = '3';
140 result[i++] = 'D';
141 result[i++] = '(';
142 i += lwprint_double(bbox->xmin, precision, &result[i]);
143 result[i++] = ' ';
144 i += lwprint_double(bbox->ymin, precision, &result[i]);
145 result[i++] = ' ';
146 i += lwprint_double(bbox->zmin, precision, &result[i]);
147 result[i++] = ',';
148 i += lwprint_double(bbox->xmax, precision, &result[i]);
149 result[i++] = ' ';
150 i += lwprint_double(bbox->ymax, precision, &result[i]);
151 result[i++] = ' ';
152 i += lwprint_double(bbox->zmax, precision, &result[i]);
153 result[i++] = ')';
154 result[i++] = '\0';
155
156 PG_RETURN_CSTRING(result);
157}
static uint8_t precision
Definition cu_in_twkb.c:25
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition cu_print.c:267
#define OUT_MAX_BYTES_DOUBLE
int lwprint_double(double d, int maxdd, char *buf)
Definition lwprint.c:463
double xmax
Definition liblwgeom.h:340
double zmin
Definition liblwgeom.h:339
double ymax
Definition liblwgeom.h:340
double ymin
Definition liblwgeom.h:339
double zmax
Definition liblwgeom.h:340
double xmin
Definition liblwgeom.h:339

References lwprint_double(), OUT_MAX_BYTES_DOUBLE, precision, result, BOX3D::xmax, BOX3D::xmin, BOX3D::ymax, BOX3D::ymin, BOX3D::zmax, and BOX3D::zmin.

Here is the call graph for this function: