ArcObjects, die der ArcMap Flip-Schaltfläche entsprechen?

10

In einer ArcMap-Erweiterung muss ich mehrere Zeilen aus einer Auswahl spiegeln.

Mit der ArcMap-Flip-Schaltfläche können Sie jeweils nur eine Funktion spiegeln.

Was entspricht den ArcObjects der Flip-Schaltfläche von ArcMap?

Geben Sie hier die Bildbeschreibung ein

Goldorak84
quelle

Antworten:

7

ICurve.ReverseOrientation sollte tun, was Sie wollen.

Tatsächlich gibt es ein vollständiges Snippet Flip Line Direction Snippet , das in der ESRI-Online-Dokumentation verfügbar ist.

Hier ist ein kleiner Auszug daraus:

ESRI.ArcGIS.Geometry.ICurve curve = feature.Shape as ESRI.ArcGIS.Geometry.ICurve;
curve.ReverseOrientation();
feature.Shape = curve;
feature.Store();
Vinayan
quelle
Vielen Dank! Übrigens gibt es einen Fehler im Flip Line-Snippet. Die Zeile "if (! (Feature ist ESRI.ArcGIS.Geometry.ICurve))" sollte "if (! (feature.Shape ist ESRI.ArcGIS.Geometry.ICurve))" sein
Goldorak84
@ Goldorak84 - ja das ist richtig .. nicht wenige von ihnen lauern in den Proben :)
Vinayan
@vinayan Ich versuche das gleiche zu erreichen, aber in VB.NET. Konnten Sie ReverseOrientation während der Bearbeitung verwenden, dh in einer aktiven Bearbeitungssitzung, nicht indem Sie eine Bearbeitungsoperation programmgesteuert starten?
Barbarossa
1
@Barbarossa Ich habe ReverseOrientation in einer aktiven Bearbeitungssitzung verwendet. I "StartEditOperation" (das eine Reihe von Änderungen innerhalb einer tatsächlichen Bearbeitungssitzung startet) für das Editor-Objekt ist jedoch obligatorisch. Andernfalls würde es Ihren Rückgängig-Stapel durcheinander bringen. Was hindert Sie daran, diese Methode anzuwenden?
Goldorak84
Danke für die Antwort. Ich habe den Rückgängig-Stapel nicht in Betracht gezogen. Jetzt funktioniert alles richtig.
Barbarossa