addPolygonRing method

void addPolygonRing(
  1. LinearRing lr,
  2. int cwLeft,
  3. int cwRight
)

Implementation

void addPolygonRing(LinearRing lr, int cwLeft, int cwRight) {
  if (lr.isEmpty()) {
    return;
  }

  final coord = CoordinateArrays.removeRepeatedPoints(lr.getCoordinates());
  if (coord.length < 4) {
    _hasTooFewPoints = true;
    _invalidPoint = coord[0];
    return;
  }
  int left = cwLeft;
  int right = cwRight;
  if (Orientation.isCCW(coord)) {
    left = cwRight;
    right = cwLeft;
  }
  Edge e = Edge(coord, Label.of4(_argIndex, Location.boundary, left, right));
  _lineEdgeMap.put(lr, e);
  insertEdge(e);
  insertPoint(_argIndex, coord[0], Location.boundary);
}