public static void smooth(PointList pointList, double maxElevationDelta) {
        internSmooth(pointList, 0, pointList.size() - 1, maxElevationDelta);
    }
@Test
    public void smoothRamer2() {
        PointList pl2 = new PointList(3, true);
        pl2.add(0.001, 0.001, 50);
        pl2.add(0.0015, 0.0015, 160);
        pl2.add(0.0016, 0.0015, 150);
        pl2.add(0.0017, 0.0015, 220);
        pl2.add(0.002, 0.002, 20);
        EdgeElevationSmoothingRamer.smooth(pl2, 100);
        assertEquals(5, pl2.size());
        assertEquals(190, pl2.getEle(1), 1); // modify as too small in interval [0,4]
        assertEquals(210, pl2.getEle(2), 1); // modify as too small in interval [0,4]
        assertEquals(220, pl2.getEle(3), .1); // keep as it is bigger than maxElevationDelta in interval [0,4]
    }