428 LWDEBUGF(3,
"lwcircstring_linearize: arc ending at point %d", i);
434 ret =
lwarc_linearize(ptarray, &p1, &p2, &p3, tol, tolerance_type, flags);
437 LWDEBUGF(3,
"lwcircstring_linearize: generated %d points", ptarray->
npoints);
441 LWDEBUG(3,
"lwcircstring_linearize: points are colinear, returning curve points as line");
443 for (j = i - 2 ; j < i ; j++)
POINTARRAY * ptarray_construct_empty(char hasz, char hasm, uint32_t maxpoints)
Create a new POINTARRAY with no points.
void ptarray_free(POINTARRAY *pa)
#define LWDEBUG(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.
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, then a duplicate point will not be added.
#define LW_TRUE
Return types for functions with status returns.
LWLINE * lwline_construct(int srid, GBOX *bbox, POINTARRAY *points)
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
#define FLAGS_GET_M(flags)
#define LWDEBUGF(level, msg,...)
int getPoint4d_p(const POINTARRAY *pa, int n, POINT4D *point)