68 for (i = 0; i < comp->
ngeoms; i++)
82 LWDEBUG(4,
"Got an empty component for a compound curve!");
99 LWDEBUG(4,
"Components don't join up end-to-end!");
100 LWDEBUGF(4,
"first pt (%g %g %g %g) last pt (%g %g %g %g)", first.
x, first.
y, first.
z, first.
m, last.
x, last.
y, last.
z, last.
m);
127 lwerror(
"lwgeom_contains_point failed");
138 int winding_number = 0;
141 for ( i = 0; i < comp->
ngeoms; i++ )
179 wn += winding_number;
int lwgeom_contains_point(const LWGEOM *geom, const POINT2D *pt)
int ptarrayarc_contains_point(const POINTARRAY *pa, const POINT2D *pt)
For POINTARRAYs representing CIRCULARSTRINGS.
#define LWDEBUG(level, msg)
double lwgeom_length_2d(const LWGEOM *geom)
int lwgeom_has_z(const LWGEOM *geom)
Return LW_TRUE if geometry has Z ordinates.
double lwcompound_length(const LWCOMPOUND *comp)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
#define LW_TRUE
Return types for functions with status returns.
int ptarray_contains_point_partial(const POINTARRAY *pa, const POINT2D *pt, int check_closed, int *winding_number)
uint8_t * getPoint_internal(const POINTARRAY *pa, int n)
#define LW_INSIDE
Constants for point-in-polygon return values.
int lwcompound_is_closed(const LWCOMPOUND *compound)
int lwcompound_add_lwgeom(LWCOMPOUND *comp, LWGEOM *geom)
Add a component, allocating extra space if necessary.
LWCOMPOUND * lwcompound_construct_empty(int srid, char hasz, char hasm)
LWLINE * lwgeom_as_lwline(const LWGEOM *lwgeom)
LWCIRCSTRING * lwgeom_as_lwcircstring(const LWGEOM *lwgeom)
int lwcompound_contains_point(const LWCOMPOUND *comp, const POINT2D *pt)
int ptarray_contains_point(const POINTARRAY *pa, const POINT2D *pt)
Return 1 if the point is inside the POINTARRAY, -1 if it is outside, and 0 if it is on the boundary...
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members) ...
LWCOLLECTION * lwcollection_construct_empty(uint8_t type, int srid, char hasz, char hasm)
#define LWDEBUGF(level, msg,...)
int ptarrayarc_contains_point_partial(const POINTARRAY *pa, const POINT2D *pt, int check_closed, int *winding_number)
double lwcompound_length_2d(const LWCOMPOUND *comp)
LWCOLLECTION * lwcollection_add_lwgeom(LWCOLLECTION *col, const LWGEOM *geom)
Appends geom to the collection managed by col.
int getPoint4d_p(const POINTARRAY *pa, int n, POINT4D *point)