computeBoundaryCoordinates method

List<Coordinate> computeBoundaryCoordinates(
  1. MultiLineString mLine
)

Implementation

List<Coordinate> computeBoundaryCoordinates(MultiLineString mLine) {
  List<Coordinate> bdyPts = [];
  endpointMap = SplayTreeMap();
  for (int i = 0; i < mLine.getNumGeometries(); i++) {
    LineString line = mLine.getGeometryN(i) as LineString;
    if (line.isEmpty()) {
      continue;
    }
    addEndpoint(line.getCoordinateN(0));
    addEndpoint(line.getCoordinateN(line.getNumPoints() - 1));
  }

  endpointMap!.forEach((coord, counter) {
    int valence = counter.count;
    if (bnRule.isInBoundary(valence)) {
      bdyPts.add(coord);
    }
  });

  return bdyPts;
}