PostGIS  2.2.7dev-r@@SVN_REVISION@@
LWGEOM* lwgeom_stroke ( const LWGEOM geom,
uint32_t  perQuad 
)

Definition at line 446 of file lwstroke.c.

References CIRCSTRINGTYPE, COLLECTIONTYPE, COMPOUNDTYPE, CURVEPOLYTYPE, lwcircstring_stroke(), lwcollection_stroke(), lwcompound_stroke(), lwcurvepoly_stroke(), lwgeom_clone(), lwmcurve_stroke(), lwmsurface_stroke(), MULTICURVETYPE, MULTISURFACETYPE, and LWGEOM::type.

Referenced by LWGEOM2GEOS(), LWGEOM_curve_segmentize(), lwgeom_force_sfs(), and test_ptarray_unstroke().

447 {
448  LWGEOM * ogeom = NULL;
449  switch (geom->type)
450  {
451  case CIRCSTRINGTYPE:
452  ogeom = (LWGEOM *)lwcircstring_stroke((LWCIRCSTRING *)geom, perQuad);
453  break;
454  case COMPOUNDTYPE:
455  ogeom = (LWGEOM *)lwcompound_stroke((LWCOMPOUND *)geom, perQuad);
456  break;
457  case CURVEPOLYTYPE:
458  ogeom = (LWGEOM *)lwcurvepoly_stroke((LWCURVEPOLY *)geom, perQuad);
459  break;
460  case MULTICURVETYPE:
461  ogeom = (LWGEOM *)lwmcurve_stroke((LWMCURVE *)geom, perQuad);
462  break;
463  case MULTISURFACETYPE:
464  ogeom = (LWGEOM *)lwmsurface_stroke((LWMSURFACE *)geom, perQuad);
465  break;
466  case COLLECTIONTYPE:
467  ogeom = (LWGEOM *)lwcollection_stroke((LWCOLLECTION *)geom, perQuad);
468  break;
469  default:
470  ogeom = lwgeom_clone(geom);
471  }
472  return ogeom;
473 }
#define MULTICURVETYPE
Definition: liblwgeom.h:80
LWMLINE * lwmcurve_stroke(const LWMCURVE *mcurve, uint32_t perQuad)
Definition: lwstroke.c:333
#define CURVEPOLYTYPE
Definition: liblwgeom.h:79
#define COMPOUNDTYPE
Definition: liblwgeom.h:78
LWMPOLY * lwmsurface_stroke(const LWMSURFACE *msurface, uint32_t perQuad)
Definition: lwstroke.c:370
LWCOLLECTION * lwcollection_stroke(const LWCOLLECTION *collection, uint32_t perQuad)
Definition: lwstroke.c:406
LWLINE * lwcircstring_stroke(const LWCIRCSTRING *icurve, uint32_t perQuad)
Definition: lwstroke.c:190
LWPOLY * lwcurvepoly_stroke(const LWCURVEPOLY *curvepoly, uint32_t perQuad)
Definition: lwstroke.c:289
LWLINE * lwcompound_stroke(const LWCOMPOUND *icompound, uint32_t perQuad)
Definition: lwstroke.c:242
LWGEOM * lwgeom_clone(const LWGEOM *lwgeom)
Clone LWGEOM object.
Definition: lwgeom.c:395
#define MULTISURFACETYPE
Definition: liblwgeom.h:81
uint8_t type
Definition: liblwgeom.h:380
#define CIRCSTRINGTYPE
Definition: liblwgeom.h:77
#define COLLECTIONTYPE
Definition: liblwgeom.h:76

Here is the call graph for this function:

Here is the caller graph for this function: