528 LWDEBUGF(3,
"lwcircstring_linearize: arc ending at point %d", i);
534 ret =
lwarc_linearize(ptarray, &p1, &p2, &p3, tol, tolerance_type, flags);
537 LWDEBUGF(3,
"lwcircstring_linearize: generated %d points", ptarray->
npoints);
541 LWDEBUG(3,
"lwcircstring_linearize: points are colinear, returning curve points as line");
543 for (j = i - 2 ; j < i ; j++)
#define FLAGS_GET_Z(flags)
LWLINE * lwline_construct(int32_t srid, GBOX *bbox, POINTARRAY *points)
POINTARRAY * ptarray_construct_empty(char hasz, char hasm, uint32_t maxpoints)
Create a new POINTARRAY with no points.
#define FLAGS_GET_M(flags)
int getPoint4d_p(const POINTARRAY *pa, uint32_t n, POINT4D *point)
void ptarray_free(POINTARRAY *pa)
int ptarray_append_point(POINTARRAY *pa, const POINT4D *pt, int allow_duplicates)
Append a point to the end of an existing POINTARRAY If allow_duplicate is LW_FALSE,...
#define LW_TRUE
Return types for functions with status returns.
#define LWDEBUG(level, msg)
#define LWDEBUGF(level, msg,...)
static int lwarc_linearize(POINTARRAY *to, const POINT4D *p1, const POINT4D *p2, const POINT4D *p3, double tol, LW_LINEARIZE_TOLERANCE_TYPE tolerance_type, int flags)
Segmentize an arc.