PostGIS  2.5.0dev-r@@SVN_REVISION@@
GEOSGeometry* GBOX2GEOS ( const GBOX g)

Definition at line 311 of file liblwgeom/lwgeom_geos.c.

References GBOX::xmax, GBOX::xmin, GBOX::ymax, and GBOX::ymin.

Referenced by lwgeom_voronoi_diagram().

312 {
313  GEOSGeometry* envelope;
314  GEOSGeometry* ring;
315  GEOSCoordSequence* seq = GEOSCoordSeq_create(5, 2);
316  if (!seq)
317  {
318  return NULL;
319  }
320 
321  GEOSCoordSeq_setX(seq, 0, box->xmin);
322  GEOSCoordSeq_setY(seq, 0, box->ymin);
323 
324  GEOSCoordSeq_setX(seq, 1, box->xmax);
325  GEOSCoordSeq_setY(seq, 1, box->ymin);
326 
327  GEOSCoordSeq_setX(seq, 2, box->xmax);
328  GEOSCoordSeq_setY(seq, 2, box->ymax);
329 
330  GEOSCoordSeq_setX(seq, 3, box->xmin);
331  GEOSCoordSeq_setY(seq, 3, box->ymax);
332 
333  GEOSCoordSeq_setX(seq, 4, box->xmin);
334  GEOSCoordSeq_setY(seq, 4, box->ymin);
335 
336  ring = GEOSGeom_createLinearRing(seq);
337  if (!ring)
338  {
339  GEOSCoordSeq_destroy(seq);
340  return NULL;
341  }
342 
343  envelope = GEOSGeom_createPolygon(ring, NULL, 0);
344  if (!envelope)
345  {
346  GEOSGeom_destroy(ring);
347  return NULL;
348  }
349 
350  return envelope;
351 }

Here is the caller graph for this function: