PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ lwgeom_force_clockwise()

void lwgeom_force_clockwise ( LWGEOM lwgeom)

Force Right-hand-rule on LWGEOM polygons.

Definition at line 38 of file lwgeom.c.

39 {
40  LWCOLLECTION *coll;
41  uint32_t i;
42 
43  switch (lwgeom->type)
44  {
45  case POLYGONTYPE:
46  lwpoly_force_clockwise((LWPOLY *)lwgeom);
47  return;
48 
49  case TRIANGLETYPE:
51  return;
52 
53  /* Not handle POLYHEDRALSURFACE and TIN
54  as they are supposed to be well oriented */
55  case MULTIPOLYGONTYPE:
56  case COLLECTIONTYPE:
57  coll = (LWCOLLECTION *)lwgeom;
58  for (i=0; i<coll->ngeoms; i++)
59  lwgeom_force_clockwise(coll->geoms[i]);
60  return;
61  }
62 }
#define COLLECTIONTYPE
Definition: liblwgeom.h:108
#define MULTIPOLYGONTYPE
Definition: liblwgeom.h:107
#define POLYGONTYPE
Definition: liblwgeom.h:104
#define TRIANGLETYPE
Definition: liblwgeom.h:115
void lwtriangle_force_clockwise(LWTRIANGLE *triangle)
Definition: lwtriangle.c:106
void lwpoly_force_clockwise(LWPOLY *poly)
Definition: lwpoly.c:268
void lwgeom_force_clockwise(LWGEOM *lwgeom)
Force Right-hand-rule on LWGEOM polygons.
Definition: lwgeom.c:38
uint32_t ngeoms
Definition: liblwgeom.h:580
LWGEOM ** geoms
Definition: liblwgeom.h:575
uint8_t type
Definition: liblwgeom.h:462

References COLLECTIONTYPE, LWCOLLECTION::geoms, lwgeom_force_clockwise(), lwpoly_force_clockwise(), lwtriangle_force_clockwise(), MULTIPOLYGONTYPE, LWCOLLECTION::ngeoms, POLYGONTYPE, TRIANGLETYPE, and LWGEOM::type.

Referenced by lwgeom_force_clockwise(), LWGEOM_force_clockwise_poly(), parse_marc21(), and test_lwgeom_force_clockwise().

Here is the call graph for this function:
Here is the caller graph for this function: