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;
            }
        }
Example #2
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);
        }
Example #3
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  = "...";
            }
        }
Example #4
0
        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();
        }
Example #5
0
 public void SetRouteAndCar(DashCamFileInfo dashCamFileInfo)
 {
     _route.SetRouteAndCar(dashCamFileInfo);
 }