private void DrawTrack(Graphics graphics, TrackOnMap track) { Point previous = new Point(); Point nullPoint = new Point(); foreach (WayPointOnMap wpm in track.WayPoints) { if (wpm.IsHidden) { previous = nullPoint; } else { Point p1; if (previous != nullPoint) p1 = previous; else { p1 = new Point(wpm.XPixels, wpm.YPixels); p1.Offset(-_LeftOffset, -_TopOffset); } Point p2 = new Point(wpm.XPixels, wpm.YPixels); p2.Offset(-_LeftOffset, -_TopOffset); DrawWaypoint(graphics, p2, p1, wpm.IsHighlighted); previous = p2; } } }
private void CreateWaypointsList() { if (_Tracks == null) { _WayPointsOnMap = null; _TracksOnMap = null; } else { _WayPointsOnMap = new List<WayPointOnMap>(); _TracksOnMap = new List<TrackOnMap>(); foreach (Track track in _Tracks) { TrackOnMap tom = new TrackOnMap(); _TracksOnMap.Add(tom); foreach (TrackSegment seg in track.TrackSegments) { foreach (WayPoint wp in seg.WayPoints) { WayPointOnMap wop = new WayPointOnMap(wp); _WayPointsOnMap.Add(wop); tom.WayPoints.Add(wop); } } } } }