public void RemoveMultiplePoints3d() { if (base.Count < 2) { return; } base.InnerList.Sort(new PointComparer1()); PointSet pointSet = new PointSet(); pointSet.Add(this[base.Count - 1]); for (int i = base.Count - 2; i >= 0; i--) { if (!(this[i] == this[i + 1])) { pointSet.Add(this[i]); } } base.Clear(); for (int j = 0; j < pointSet.Count; j++) { this.Add(pointSet[j]); } pointSet.Dispose(); }
public void RemoveMultiplePoints2d() { if (base.Count < 2) { return; } base.InnerList.Sort(new PointComparer1()); PointSet pointSet = new PointSet(); pointSet.Add(this[base.Count - 1]); for (int i = base.Count - 2; i >= 0; i--) { if (Math.Abs(this[i].X - this[i + 1].X) > Global.AbsoluteEpsilon || Math.Abs(this[i].Y - this[i + 1].Y) > Global.AbsoluteEpsilon) { pointSet.Add(this[i]); } } base.Clear(); for (int j = 0; j < pointSet.Count; j++) { this.Add(pointSet[j]); } pointSet.Dispose(); }