429 LWDEBUGF(3,
"lwcircstring_linearize: arc ending at point %d", i);
435 ret =
lwarc_linearize(ptarray, &p1, &p2, &p3, tol, tolerance_type, flags);
438 LWDEBUGF(3,
"lwcircstring_linearize: generated %d points", ptarray->
npoints);
442 LWDEBUG(3,
"lwcircstring_linearize: points are colinear, returning curve points as line");
444 for (j = i - 2 ; j < i ; j++)
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
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.
LWLINE * lwline_construct(int srid, GBOX *bbox, POINTARRAY *points)
#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.