Удаление нескольких вершин полилинии

Автор Тема: Удаление нескольких вершин полилинии  (Прочитано 6471 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Подскажите, я могу удалять в цикле вершины 2d-полилиниии
Ну вообще как корректно удалить вершины?

К примеру у меня есть номера удаляемых вершин полилинии.
Код - C# [Выбрать]
  1. int[] Nums = {3,4,7,8};

Наверное в цикле так не смогу сделать.
Будет индекс вне диапазона
или вообще удалятся не те номера какие нужно?
Удалю 3 вершину на ее место станет 4-я все сместится и получится бред.

Или ни чего не сместится пока не вызовешь метод
Код - C# [Выбрать]
  1. Transaction.Commit()?

Код - C# [Выбрать]
  1. polyline PL; ...
  2. foreach (int n in Nums) {
  3.     PL.RemoveVertexAt(n);
  4. }

Оффлайн Вильдар

  • ADN Club
  • ****
  • Сообщений: 409
  • Карма: 77
  • Skype: vildar82
Может отсортировать по убыванию индексы и удалять.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
А ну да точно нужно пробежаться в цикле в обратном направлении.


Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Все норм получилось