Hallo André,
ich bin mir nicht ganz sicher ob ich Dich ganz richtig verstanden habe, ein Sortieren der Punktliste macht Sinn aber mE kann man das von Dir beschriebene Problem dadurch trotzdem nicht ganz umgehen.
Beispiel:
Objekt mit 10 Punkten
Flächen:
1) 1 5 7 3
2) 3 6 7 9
3) 9 2 4 8
4) 0 1 2
Ich möchte die Punkte 7, 5 löschen:
1. Schleifendurchgang, Punkt "7"
a) 1 5 3
b) 3 6 8
c) 8 2 4 7
d) 0 1 2
2. Schleifendurchgang, Punkt "5"
a) 1 3
b) 3 5 7
c) 7 2 4 6
d) 0 1 2
Allgemein ausgedrückt:
Für jeden zu löschenden Punkt x:
- Lösche Punkt x Element aus XML (<Point>)
- Für jede Fläche a:
-- Für alle Punkte p in Fläche a:
--- Falls p == x
---- Lösche p
--- Falls p > x
---- p = p - 1
Was hat uns also das Sortieren des "zu löschende Punkte Array" gebracht: Wir müssen weniger Punkte mittels "p = p - 1" editieren, da wir die "höheren Punkte" früher löschen. Und zusätzlich müssen wir nicht die Punkte im "zu löschende Punkte Array" anpassen. Angenommen wir hätten das Array nicht sortiert und zB folgendes Array genommen "5 7": Nach dem Löschen des Punkts "5" müssten wir im nächsten Schleifendurchgang nicht Punkt "7" löschen, sondern Punkt "6"!
Ich hoffe das war halbwegs verständlich, ansonsten einfach nochmals nachfragen!
Ich denke der Grund warum dies derzeitig im LoksimEdit nicht umgesetzt ist, ist eher die Oberfläche (Mehrfachauswahl im Baum des Objekteditors) und weniger der Algorithmus an sich (ist öfter so

)
Tipps zu VB kann ich nicht geben, da kenne ich mich zu wenig aus. Bei VB.NET ist die "XDocument" Klasse recht einfach zu verwenden bei der XML-Verarbeitung.
ABER, ich werde schnell in den LoksimEdit Code schauen und analysieren wie aufwändig die Mehrfachauswahl wirklich wäre

lg
Lukas