PostGIS  2.3.8dev-r@@SVN_REVISION@@
lwstroke.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include "liblwgeom_internal.h"
#include "lwgeom_log.h"
Include dependency graph for lwstroke.c:

Go to the source code of this file.


LWMLINElwmcurve_stroke (const LWMCURVE *mcurve, uint32_t perQuad)
LWMPOLYlwmsurface_stroke (const LWMSURFACE *msurface, uint32_t perQuad)
LWCOLLECTIONlwcollection_stroke (const LWCOLLECTION *collection, uint32_t perQuad)
LWGEOMpta_unstroke (const POINTARRAY *points, int type, int srid)
LWGEOMlwline_unstroke (const LWLINE *line)
LWGEOMlwpolygon_unstroke (const LWPOLY *poly)
LWGEOMlwmline_unstroke (const LWMLINE *mline)
LWGEOMlwmpolygon_unstroke (const LWMPOLY *mpoly)
LWGEOMlwgeom_unstroke (const LWGEOM *geom)
int lwgeom_has_arc (const LWGEOM *geom)
static double interpolate_arc (double angle, double a1, double a2, double a3, double zm1, double zm2, double zm3)
static POINTARRAYlwcircle_stroke (const POINT4D *p1, const POINT4D *p2, const POINT4D *p3, uint32_t perQuad)
LWLINElwcircstring_stroke (const LWCIRCSTRING *icurve, uint32_t perQuad)
LWLINElwcompound_stroke (const LWCOMPOUND *icompound, uint32_t perQuad)
LWPOLYlwcurvepoly_stroke (const LWCURVEPOLY *curvepoly, uint32_t perQuad)
LWGEOMlwgeom_stroke (const LWGEOM *geom, uint32_t perQuad)
static double lw_arc_angle (const POINT2D *a, const POINT2D *b, const POINT2D *c)
 Return ABC angle in radians TODO: move to lwalgorithm. More...
static int pt_continues_arc (const POINT4D *a1, const POINT4D *a2, const POINT4D *a3, const POINT4D *b)
 Returns LW_TRUE if b is on the arc formed by a1/a2/a3, but not within that portion already described by a1/a2/a3. More...
static LWGEOMlinestring_from_pa (const POINTARRAY *pa, int srid, int start, int end)
static LWGEOMcircstring_from_pa (const POINTARRAY *pa, int srid, int start, int end)
static LWGEOMgeom_from_pa (const POINTARRAY *pa, int srid, int is_arc, int start, int end)