PostGIS  2.3.7dev-r@@SVN_REVISION@@
static LWGEOM* circstring_from_pa ( const POINTARRAY pa,
int  srid,
int  start,
int  end 
)
static

Definition at line 576 of file lwstroke.c.

References getPoint4d_p(), lwcircstring_as_lwgeom(), lwcircstring_construct(), LWDEBUGF, ptarray_construct(), ptarray_has_m(), ptarray_has_z(), and ptarray_set_point4d().

Referenced by geom_from_pa().

577 {
578 
579  POINT4D p0, p1, p2;
581  LWDEBUGF(4, "srid=%d, start=%d, end=%d", srid, start, end);
582  getPoint4d_p(pa, start, &p0);
583  ptarray_set_point4d(pao, 0, &p0);
584  getPoint4d_p(pa, (start+end+1)/2, &p1);
585  ptarray_set_point4d(pao, 1, &p1);
586  getPoint4d_p(pa, end+1, &p2);
587  ptarray_set_point4d(pao, 2, &p2);
588  return lwcircstring_as_lwgeom(lwcircstring_construct(srid, NULL, pao));
589 }
void ptarray_set_point4d(POINTARRAY *pa, int n, const POINT4D *p4d)
Definition: lwgeom_api.c:549
POINTARRAY * ptarray_construct(char hasz, char hasm, uint32_t npoints)
Construct an empty pointarray, allocating storage and setting the npoints, but not filling in any inf...
Definition: ptarray.c:62
LWGEOM * lwcircstring_as_lwgeom(const LWCIRCSTRING *obj)
Definition: lwgeom.c:237
LWCIRCSTRING * lwcircstring_construct(int srid, GBOX *bbox, POINTARRAY *points)
Definition: lwcircstring.c:51
int ptarray_has_m(const POINTARRAY *pa)
Definition: ptarray.c:43
int ptarray_has_z(const POINTARRAY *pa)
Definition: ptarray.c:36
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:88
int getPoint4d_p(const POINTARRAY *pa, int n, POINT4D *point)
Definition: lwgeom_api.c:244

Here is the call graph for this function:

Here is the caller graph for this function: