PostGIS  2.1.10dev-r@@SVN_REVISION@@
lwsegmentize.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 lwsegmentize.c:

Go to the source code of this file.


LWMLINElwmcurve_segmentize (LWMCURVE *mcurve, uint32_t perQuad)
LWMPOLYlwmsurface_segmentize (LWMSURFACE *msurface, uint32_t perQuad)
LWCOLLECTIONlwcollection_segmentize (LWCOLLECTION *collection, uint32_t perQuad)
LWGEOMpta_desegmentize (POINTARRAY *points, int type, int srid)
LWGEOMlwline_desegmentize (LWLINE *line)
LWGEOMlwpolygon_desegmentize (LWPOLY *poly)
LWGEOMlwmline_desegmentize (LWMLINE *mline)
LWGEOMlwmpolygon_desegmentize (LWMPOLY *mpoly)
LWGEOMlwgeom_desegmentize (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_segmentize (POINT4D *p1, POINT4D *p2, POINT4D *p3, uint32_t perQuad)
LWLINElwcircstring_segmentize (const LWCIRCSTRING *icurve, uint32_t perQuad)
LWLINElwcompound_segmentize (const LWCOMPOUND *icompound, uint32_t perQuad)
LWPOLYlwcurvepoly_segmentize (const LWCURVEPOLY *curvepoly, uint32_t perQuad)
LWGEOMlwgeom_segmentize (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)