prepareWays method

List<Wayholder> prepareWays(
  1. ZoomlevelRange zoomlevelRange,
  2. List<Wayholder> wayholders
)

Implementation

List<Wayholder> prepareWays(
  ZoomlevelRange zoomlevelRange,
  List<Wayholder> wayholders,
) {
  if (subfileZoomlevelRange.zoomlevelMin > zoomlevelRange.zoomlevelMax) return [];
  if (subfileZoomlevelRange.zoomlevelMax < zoomlevelRange.zoomlevelMin) return [];
  if (maxDeviation <= 0) {
    // we do not want to filter anything, return the original
    return wayholders;
  }
  List<Wayholder> result = [];
  for (Wayholder wayholder in wayholders) {
    Wayholder? res = sizeFilter.filter(wayholder);
    if (res != null) {
      // size is big enough, now simplify the way
      res = simplifyFilter.reduce(res);
      // if the object was so tiny that we can simplify it away, do not store it
      if (res.closedOutersRead.isNotEmpty || res.openOutersRead.isNotEmpty) result.add(res);
    }
  }
  return result;
}