public void CleanPoints(List <C2DPoint> poly) { var polygon = new C2DPolygon(poly, true); var pointsCopy = new List <C2DPoint>(); polygon.GetPointsCopy(pointsCopy); for (int i = 0; i < pointsCopy.Count; ++i) { poly[i] = pointsCopy[i]; } }
public void SnapToOriginInPlace(IList <C2DPoint> input) { var minXy = MinMax(input); for (var i = 0; i < input.Count; ++i) { input[i] = new C2DPoint(input[i].X - minXy.Item1, input[i].Y - minXy.Item2); } var poly = new C2DPolygon(input.ToList(), true); poly.RandomPerturb(); var pointsCopy = new C2DPointSet(); poly.GetPointsCopy(pointsCopy); for (var i = 0; i < pointsCopy.Count; ++i) { input[i] = pointsCopy[i]; } }