Пример #1
0
        public void editPoint(int index, PointPair p, PointPair oldP)
        {
            if (!interval.isPointOnInterval(p))
            {
                points[index] = oldP;
                throw new InvalidPointPositon(p.ToString());
            }

            p.Y = interval.profile.getY(p.X);
            points[index] = p;
            points.Sort();
        }
Пример #2
0
 // Редактирование позиции точки на профиле интервала
 public void editPoint(int index, PointPair p, PointPair oldP)
 {
     if (!interval.isPointOnInterval(p))
     {
         points[index] = oldP;
         throw new InvalidPointPositon(p.ToString());
     }
     int i = findPointIndexOnProfile(p);
     if (i - 1  != index)
     {
         points[index] = oldP;
         throw new InvalidPointPositon("Невозможно изменить позицию узла профиля интервала");
     }
     points[index] = p;
     if (index == 0)
     {
         interval.earthCurve.Points[0].Y = p.Y;
     }
     if (index == points.Count - 1)
     {
         interval.earthCurve.Points[1].Y = p.Y;
     }
 }
Пример #3
0
        public void addPoint(PointPair p)
        {
            if (!interval.isPointOnInterval(p))
            {
                throw new InvalidPointPositon(p.ToString());
            }

            int i = findPointIndexOnProfile(p);

            // Первая или последняя точка интервала
            if (i <= 0 || i >= points.Count)
            {
                throw new InvalidPointPositon(p.ToString());
            }
            points.Insert(i, p);
        }