PostGIS  2.2.8dev-r@@SVN_REVISION@@

◆ lwcircstring_get_lwpoint()

LWPOINT* lwcircstring_get_lwpoint ( const LWCIRCSTRING circ,
int  where 
)

Definition at line 287 of file lwcircstring.c.

References LWCIRCSTRING::flags, FLAGS_GET_M, FLAGS_GET_Z, getPoint4d(), LW_TRUE, lwcircstring_is_empty(), lwpoint_construct(), POINTARRAY::npoints, LWCIRCSTRING::points, ptarray_append_point(), ptarray_construct_empty(), and LWCIRCSTRING::srid.

Referenced by LWGEOM_dumppoints().

287  {
288  POINT4D pt;
289  LWPOINT *lwpoint;
290  POINTARRAY *pa;
291 
292  if ( lwcircstring_is_empty(circ) || where < 0 || where >= circ->points->npoints )
293  return NULL;
294 
296  pt = getPoint4d(circ->points, where);
297  ptarray_append_point(pa, &pt, LW_TRUE);
298  lwpoint = lwpoint_construct(circ->srid, NULL, pa);
299  return lwpoint;
300 }
uint8_t flags
Definition: liblwgeom.h:425
int npoints
Definition: liblwgeom.h:355
int32_t srid
Definition: liblwgeom.h:427
POINTARRAY * ptarray_construct_empty(char hasz, char hasm, uint32_t maxpoints)
Create a new POINTARRAY with no points.
Definition: ptarray.c:70
POINT4D getPoint4d(const POINTARRAY *pa, int n)
Definition: lwgeom_api.c:216
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_TRUE, then a duplicate point will not be added.
Definition: ptarray.c:156
#define LW_TRUE
Return types for functions with status returns.
Definition: liblwgeom.h:61
#define FLAGS_GET_Z(flags)
Macros for manipulating the &#39;flags&#39; byte.
Definition: liblwgeom.h:124
#define FLAGS_GET_M(flags)
Definition: liblwgeom.h:125
POINTARRAY * points
Definition: liblwgeom.h:428
LWPOINT * lwpoint_construct(int srid, GBOX *bbox, POINTARRAY *point)
Definition: lwpoint.c:98
int lwcircstring_is_empty(const LWCIRCSTRING *circ)
Definition: lwcircstring.c:263
Here is the call graph for this function:
Here is the caller graph for this function: