Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }