PostGIS  2.5.0dev-r@@SVN_REVISION@@
Datum ST_IsPolygonCCW ( PG_FUNCTION_ARGS  )

Definition at line 1258 of file lwgeom_functions_analytic.c.

References dumpnode::geom, lwgeom_free(), lwgeom_from_gserialized(), lwgeom_is_clockwise(), and lwgeom_reverse_in_place().

1259 {
1260  GSERIALIZED* geom;
1261  LWGEOM* input;
1262  bool is_ccw;
1263 
1264  if (PG_ARGISNULL(0))
1265  PG_RETURN_NULL();
1266 
1267  geom = PG_GETARG_GSERIALIZED_P_COPY(0);
1268  input = lwgeom_from_gserialized(geom);
1269  lwgeom_reverse_in_place(input);
1270  is_ccw = lwgeom_is_clockwise(input);
1271  lwgeom_free(input);
1272  PG_FREE_IF_COPY(geom, 0);
1273 
1274  PG_RETURN_BOOL(is_ccw);
1275 }
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
void lwgeom_reverse_in_place(LWGEOM *lwgeom)
Reverse vertex order of LWGEOM.
Definition: lwgeom.c:101
void lwgeom_free(LWGEOM *geom)
Definition: lwgeom.c:1137
LWGEOM * geom
int lwgeom_is_clockwise(LWGEOM *lwgeom)
Ensure the outer ring is clockwise oriented and all inner rings are counter-clockwise.
Definition: lwgeom.c:64

Here is the call graph for this function: