public void SetRouteAndCar(DashCamFileInfo dashCamFileInfo) { if (dashCamFileInfo == null || dashCamFileInfo.GpsInfo == null || dashCamFileInfo.GpsInfo.Count == 0) { RoutePrev.Clear(); _figurePrev.StartPoint = new Point(); _segmentPrev.Points.Clear(); RouteMain.Clear(); _figureMain.StartPoint = new Point(); _segmentMain.Points.Clear(); _iCurrentPointIndex = -1; Visibility = Visibility.Hidden; return; } RoutePrev = new List <GpsPointData>(RouteMain); //copy _figurePrev.StartPoint = _figureMain.StartPoint; _segmentPrev.Points = new PointCollection(_segmentMain.Points); RouteMain = new List <GpsPointData>(dashCamFileInfo.GpsInfo); //copy if (RouteMain.Count > 0) { if (RoutePrev.Count > 0) { RoutePrev.Add(RouteMain[0]); //add first point of current route to prev route } _iCurrentPointIndex = 0; } }
public VideoFile(int indexInGroup, DashCamFileInfo info) { _dashCamFileInfo = info; IsSelected = false; FileNameForDisplay = string.Format("{0:000}. {1}", indexInGroup + 1, Path.GetFileNameWithoutExtension(FileName)); FileInfo fi = new FileInfo(FileName); Description = string.Format(" ({0:###,###.0} KB)", fi.Length / 1024.0); }
public void UpdateInfo(DashCamFileInfo gps, int pointIdx) { if (pointIdx >= 0) { GpsPointData inf = gps[pointIdx]; compass.Direction = inf.Course; txtSpeed.Text = "Speed: " + inf.SpeedMph.ToString("0.0 mph"); txtLat.Text = "Lattitude: " + SexagesimalAngle.ToString(inf.Latitude); txtLon.Text = "Longtitude: " + SexagesimalAngle.ToString(inf.Longitude); txtTime.Text = inf.FixTime.AddHours(gps.TimeZone).ToString("yyyy/MM/dd HH:mm:ss"); } else { compass.Direction = 0; txtSpeed.Text = "Speed: N/A"; txtLat.Text = "..."; txtLon.Text = "..."; txtTime.Text = "..."; } }
private void PlayFile(string fileName, double startFrom = 0) { string prevFile = treeGroups.FindPrevFile(fileName); if (_dashCamFileInfo != null && prevFile != _dashCamFileInfo.FrontFileName) { MainMap.SetRouteAndCar(null); //reset route } gpsInfo.UpdateInfo(null, -1); //reset GPS Info control _dashCamFileInfo = new DashCamFileInfo(fileName, Settings.Default.SpeedUnits); txtFileName.Text = _dashCamFileInfo.FrontFileName; playerF.Open(_dashCamFileInfo.FrontFileName, playerF.Volume); playerR.Open(_dashCamFileInfo.BackFileName, 0); Settings.Default.LastFileName = playerF.FileName; Settings.Default.Save(); graphSpeedInfo.SetGpsInfo(_dashCamFileInfo.GpsInfo); if (_dashCamFileInfo.HasGpsInfo) { MainMap.SetRouteAndCar(_dashCamFileInfo); UpdateGpsInfo(); if (_bMapWasCollapsed)// && mapColumn.Width.Value < 300) { _bMapWasCollapsed = false; MainMap.Zoom = 16; //GridLengthAnimation.AnimateColumn(mapColumn, mapColumn.Width, 500); //select file AFTER map is expanded GridLengthAnimation.AnimateRow(rowMaps, new GridLength(5, GridUnitType.Star), 500, () => treeGroups.SelectFile(fileName)); GridLengthAnimation.AnimateRow(rowGpsInfo, new GridLength(2, GridUnitType.Star)); GridLengthAnimation.AnimateRow(rowSpeedGraph, new GridLength(1.3, GridUnitType.Star)); } } else //no GPS info { //MainMap.Position = new PointLatLng(first.Latitude, first.Longitude); if (!_bMapWasCollapsed)// && mapColumn.Width.Value > 300) { _bMapWasCollapsed = true; MainMap.Zoom = 2; GridLengthAnimation.AnimateRow(rowMaps, new GridLength(0)); GridLengthAnimation.AnimateRow(rowGpsInfo, new GridLength(0)); GridLengthAnimation.AnimateRow(rowSpeedGraph, new GridLength(0)); } } if (File.Exists(_dashCamFileInfo.BackFileName)) { if (_bRearViewWasCollapsed) { _bRearViewWasCollapsed = false; GridLengthAnimation.AnimateRow(rowFrontView, new GridLength(5, GridUnitType.Star)); GridLengthAnimation.AnimateRow(rowRearView, new GridLength(3, GridUnitType.Star)); } } else { if (!_bRearViewWasCollapsed) { _bRearViewWasCollapsed = true; GridLengthAnimation.AnimateRow(rowFrontView, new GridLength(5, GridUnitType.Star)); GridLengthAnimation.AnimateRow(rowRearView, new GridLength(0)); } } treeGroups.SelectFile(fileName); playerF.Play(); playerR.Play(); }
public void SetRouteAndCar(DashCamFileInfo dashCamFileInfo) { _route.SetRouteAndCar(dashCamFileInfo); }