private void OnGeoObjectDidChange(IGeoObject Sender, GeoObjectChange Change) { centerProperty.GeoPointChanged(); radiusProperty.LengthChanged(); diameterProperty.LengthChanged(); if (radiusHotSpots != null) { radiusHotSpots[0].Position = circle.Center + circle.MajorAxis; radiusHotSpots[1].Position = circle.Center - circle.MajorAxis; radiusHotSpots[2].Position = circle.Center + circle.MinorAxis; radiusHotSpots[3].Position = circle.Center - circle.MinorAxis; if (HotspotChangedEvent != null) { HotspotChangedEvent(radiusHotSpots[0], HotspotChangeMode.Moved); HotspotChangedEvent(radiusHotSpots[1], HotspotChangeMode.Moved); HotspotChangedEvent(radiusHotSpots[2], HotspotChangeMode.Moved); HotspotChangedEvent(radiusHotSpots[3], HotspotChangeMode.Moved); } } if (startAngleProperty != null) { startAngleProperty.AngleChanged(); if (endAngleProperty != null) { endAngleProperty.AngleChanged(); } startPointProperty.Refresh(); if (endAngleProperty != null) { endPointProperty.Refresh(); } startAngleHotSpot.Position = circle.StartPoint; if (endAngleProperty != null) { endAngleHotSpot.Position = circle.EndPoint; } if (HotspotChangedEvent != null) { HotspotChangedEvent(startAngleHotSpot, HotspotChangeMode.Moved); if (endAngleProperty != null) { HotspotChangedEvent(endAngleHotSpot, HotspotChangeMode.Moved); } } } if (arcLengthProperty != null) { arcLengthProperty.Refresh(); } if (directionProperty != null) { directionProperty.Refresh(); } }
private void OnGeoObjectDidChange(IGeoObject Sender, GeoObjectChange Change) { // wird bei Änderungen von der Linie aufgerufen, Abgleich der Anzeigen startPointProperty.Refresh(); endPointProperty.Refresh(); lengthProperty.Refresh(); lengthHotSpot.Position = line.PointAt(2.0 / 3.0); // sitzt bei 2/3 der Linie directionProperty.Refresh(); directionHotSpot.Position = line.PointAt(1.0 / 3.0); // sitzt bei 1/3 der Linie if (HotspotChangedEvent != null) { HotspotChangedEvent(startPointProperty, HotspotChangeMode.Moved); HotspotChangedEvent(endPointProperty, HotspotChangeMode.Moved); HotspotChangedEvent(lengthHotSpot, HotspotChangeMode.Moved); HotspotChangedEvent(directionHotSpot, HotspotChangeMode.Moved); } }