PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ ST_IsPolygonCCW()

Datum ST_IsPolygonCCW ( PG_FUNCTION_ARGS  )

Definition at line 1343 of file lwgeom_functions_analytic.c.

1344 {
1345  GSERIALIZED* geom;
1346  LWGEOM* input;
1347  bool is_ccw;
1348 
1349  if (PG_ARGISNULL(0))
1350  PG_RETURN_NULL();
1351 
1352  geom = PG_GETARG_GSERIALIZED_P_COPY(0);
1353  input = lwgeom_from_gserialized(geom);
1354  lwgeom_reverse_in_place(input);
1355  is_ccw = lwgeom_is_clockwise(input);
1356  lwgeom_free(input);
1357  PG_FREE_IF_COPY(geom, 0);
1358 
1359  PG_RETURN_BOOL(is_ccw);
1360 }
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
Definition: gserialized.c:239
void lwgeom_free(LWGEOM *geom)
Definition: lwgeom.c:1155
int lwgeom_is_clockwise(LWGEOM *lwgeom)
Ensure the outer ring is clockwise oriented and all inner rings are counter-clockwise.
Definition: lwgeom.c:66
void lwgeom_reverse_in_place(LWGEOM *lwgeom)
Reverse vertex order of LWGEOM.
Definition: lwgeom.c:103

References lwgeom_free(), lwgeom_from_gserialized(), lwgeom_is_clockwise(), and lwgeom_reverse_in_place().

Here is the call graph for this function: