prepareWays method

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

Prepares a list of ways by filtering and simplifying them.

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;
  }