Exemplo n.º 1
0
        private void _info_RealtimeInfoEvent(VideoParser.Camera camera, VideoParser.GPS gps)
        {
            CCTVDynamicInfo dynamicInfo = getCameraInfo(camera);

            if (dynamicInfo == null)
            {
                dynamicInfo = getGpsInfo(gps);
            }
            if (dynamicInfo != null)
            {
                ObjectItem <CCTVDynamicInfo> item = new ObjectItem <CCTVDynamicInfo>()
                {
                    Key       = dynamicInfo.VideoId,
                    IsDeleted = false,
                    Item      = dynamicInfo,
                };
                _dynamicItemList.Add(item);
                if (DateTime.Now - _lastUpdateTime > TimeSpan.FromSeconds(0.5))
                {
                    _lastUpdateTime = DateTime.Now;
                    _dynamicSync.PutUpdate(_dynamicItemList);
                    _dynamicItemList.Clear();
                }
            }
        }
Exemplo n.º 2
0
 private void updateCameraAngle(VideoParser.Camera camera)
 {
     if (_cctvShow != null)
     {
         _cctvShow.UpdateCameraAngle(camera);
     }
 }
Exemplo n.º 3
0
 public CCTVCanvas(VideoParser.Video video, VideoParser.Camera camera, LocatorAndBorder locator)
 {
     Video    = video;
     _locator = locator;
     target   = new CCTVTarget(Video, camera);
     target.Update(Length(), ZoomFactor());
     this.Children.Add(target);
 }
Exemplo n.º 4
0
 public CCTVTarget(VideoParser.Video video, VideoParser.Camera camera)
 {
     Video     = video;
     pathLimit = newPath(System.Windows.Media.Brushes.LightYellow);
     pathView  = newPath(System.Windows.Media.Brushes.LightGreen);
     this.Children.Add(pathLimit);
     this.Children.Add(pathView);
     newPolygon();
     fillColorByOnline();
     AddLine(Video.PanTiltUnit.WideView);
     Camera = camera;
 }
Exemplo n.º 5
0
 public void UpdateCameraAngle(VideoParser.Camera camera)
 {
     for (int i = 0; i < cctvs.Length; i++)
     {
         if (cctvs[i].Video.Id == camera.Id)
         {
             this.Dispatcher.BeginInvoke((Action) delegate()
             {
                 cctvs[i].Camera = camera;
             });
             break;
         }
     }
 }
Exemplo n.º 6
0
 private void _cctvInfo_RealtimeInfoEvent(VideoParser.Camera camera)
 {
     lock (_videoRealtime)
     {
         if (_videoRealtime.ContainsKey(camera.Id))
         {
             _videoRealtime[camera.Id] = camera;
         }
         else
         {
             _videoRealtime.Add(camera.Id, camera);
         }
         updateCameraAngle(camera);
     }
 }
Exemplo n.º 7
0
        CCTVDynamicInfo getCameraInfo(VideoParser.Camera camera)
        {
            if (camera != null)
            {
                CCTVDynamicInfo dynamicInfo = getDynamicInfo(getNodeId(camera.Id));
                dynamicInfo.Heading = camera.Pointing.Pan;
                CCTVStaticInfo staticInfo;
                if (_staticSync.TryGetValue(dynamicInfo.VideoId, out staticInfo) && staticInfo.TrackInfo != null)
                {
                    double zoom = Math.Min(1, Math.Max(0, camera.Zoom));
                    dynamicInfo.ViewPort = (1 - zoom) * (staticInfo.TrackInfo.MaxViewPort - staticInfo.TrackInfo.MinViewPort) + staticInfo.TrackInfo.MinViewPort;
                }
                return(dynamicInfo);
            }

            return(null);
        }
Exemplo n.º 8
0
        CCTVDynamicInfo getCameraInfo(VideoParser.Camera camera)
        {
            if (camera != null)
            {
                CCTVDynamicInfo dynamicInfo = getDynamicInfo(getNodeId(camera.Id));
                dynamicInfo.Heading = camera.Pointing.Pan;
                dynamicInfo.Tilt    = camera.Pointing.Tilt;
                CCTVStaticInfo   staticInfo;
                CCTVCameraLimits cLimits;
                if (_staticSync.TryGetValue(dynamicInfo.VideoId, out staticInfo) && _cameraSync.TryGetValue(dynamicInfo.VideoId, out cLimits))
                {
                    double zoom = Math.Min(1, Math.Max(0, camera.Zoom));
                    dynamicInfo.ViewPort = (1 - zoom) * (cLimits.MaxViewPort - cLimits.MinViewPort) + cLimits.MinViewPort;
                }
                return(dynamicInfo);
            }

            return(null);
        }
Exemplo n.º 9
0
 public CCTVsCanvas(LocatorAndBorder locator, VideoParser.Video[] video, Dictionary <ulong, VideoParser.Camera> videoRealtime)
 {
     _locator             = locator;
     cctvs                = new CCTVCanvas[video.Length];
     _statusBarInfomation = StatusBarBaseInfomation.Instance;
     lock (videoRealtime)
     {
         for (int i = 0; i < cctvs.Length; i++)
         {
             VideoParser.Camera camera = null;
             if (videoRealtime.ContainsKey(video[i].Id))
             {
                 camera = videoRealtime[video[i].Id];
             }
             cctvs[i] = new CCTVCanvas(video[i], camera, _locator);
             this.Children.Add(cctvs[i]);
             update(cctvs[i]);
         }
     }
 }
Exemplo n.º 10
0
 public CameraGeometryObj(VideoParser.Video video, VideoParser.Camera camera)
 {
 }