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(); } } }
private void updateCameraAngle(VideoParser.Camera camera) { if (_cctvShow != null) { _cctvShow.UpdateCameraAngle(camera); } }
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); }
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; }
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; } } }
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); } }
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); }
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); }
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]); } } }
public CameraGeometryObj(VideoParser.Video video, VideoParser.Camera camera) { }