PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ BOX2D_out()

Datum BOX2D_out ( PG_FUNCTION_ARGS  )

Definition at line 95 of file lwgeom_box.c.

96 {
97  char tmp[500] = {'B', 'O', 'X', '(', 0}; /* big enough */
98  static const int precision = 15;
99  char *result;
100  int size = 0;
101 
102  GBOX *box = (GBOX *)PG_GETARG_POINTER(0);
103  /* Avoid unaligned access to the gbox struct */
104  GBOX box_aligned;
105  memcpy(&box_aligned, box, sizeof(GBOX));
106 
107  size = 4;
108  size += lwprint_double(box_aligned.xmin, precision, &tmp[size]);
109  tmp[size++] = ' ';
110  size += lwprint_double(box_aligned.ymin, precision, &tmp[size]);
111  tmp[size++] = ',';
112  size += lwprint_double(box_aligned.xmax, precision, &tmp[size]);
113  tmp[size++] = ' ';
114  size += lwprint_double(box_aligned.ymax, precision, &tmp[size]);
115 
116  tmp[size++] = ')';
117  size += 1;
118 
119  result = palloc(size + 1); /* +1= null term */
120  memcpy(result, tmp, size + 1);
121  result[size] = '\0';
122 
123  PG_RETURN_CSTRING(result);
124 }
static uint8_t precision
Definition: cu_in_twkb.c:25
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition: cu_print.c:262
int lwprint_double(double d, int maxdd, char *buf)
Definition: lwprint.c:457
double ymax
Definition: liblwgeom.h:357
double xmax
Definition: liblwgeom.h:355
double ymin
Definition: liblwgeom.h:356
double xmin
Definition: liblwgeom.h:354

References lwprint_double(), precision, result, GBOX::xmax, GBOX::xmin, GBOX::ymax, and GBOX::ymin.

Here is the call graph for this function: