simplifyDPStep function
void
simplifyDPStep(
- dynamic points,
- dynamic first,
- dynamic last,
- dynamic sqTolerance,
- dynamic simplified,
Implementation
void simplifyDPStep(points, first, last, sqTolerance, simplified) {
var maxSqDist = sqTolerance, index;
for (var i = first + 1; i < last; i++) {
var sqDist = getSqSegDist(points[i], points[first], points[last]);
if (sqDist > maxSqDist) {
index = i;
maxSqDist = sqDist;
}
}
if (maxSqDist > sqTolerance) {
if (index - first > 1) {
simplifyDPStep(points, first, index, sqTolerance, simplified);
}
simplified.add(points[index]);
if (last - index > 1) {
simplifyDPStep(points, index, last, sqTolerance, simplified);
}
}
}