| 167 | |
| 168 | |
| 169 | void Polygon::simplify(double distance_tolerance, double area_tolerance, |
| 170 | bool preserve_topology) |
| 171 | { |
| 172 | throwNoGeos(); |
| 173 | |
| 174 | if (preserve_topology) |
| 175 | m_geom.reset(m_geom->SimplifyPreserveTopology(distance_tolerance)); |
| 176 | else |
| 177 | m_geom.reset(m_geom->Simplify(distance_tolerance)); |
| 178 | |
| 179 | removeSmallRings(area_tolerance); |
| 180 | removeSmallHoles(area_tolerance); |
| 181 | modified(); |
| 182 | } |
| 183 | |
| 184 | |
| 185 | void Polygon::removeSmallRings(double tolerance) |