private void Window_Loaded(object sender, RoutedEventArgs e) { //Create Beamerscreen _bscrw = new BeamerScreenWindow(); _bscrw.Show(); _bscrw.Closed += new EventHandler(_bscrw_Closed); _tablemanager = new TableManager(_bscrw.GetBeamerUC()); //Add debug object ScreenCircle sc1 = new ScreenCircle(new ObjectTable.Code.Recognition.DataStructures.TPoint(500, 500, ObjectTable.Code.Recognition. DataStructures.TPoint. PointCreationType.screen)); sc1.SetColor(ScreenCircle.EColor.green); sc1.RotationSpeed = 10.0; ScreenCrosshair sch1 = new ScreenCrosshair(new ObjectTable.Code.Recognition.DataStructures.TPoint(200, 300, ObjectTable .Code. Recognition . DataStructures . TPoint . PointCreationType . screen)); _tablemanager.DisplayManager.AddElement(sc1, ObjectTable.Code.Display.DisplayManager.DisplayLayer.top); _tablemanager.DisplayManager.AddElement(sch1, ObjectTable.Code.Display.DisplayManager.DisplayLayer.top); //Canvas.SetLeft(sch1, 450); //Canvas.SetTop(sch1, 150); }
void _tableManager_OnNewObjectList() { //clear the surface _tableManager.DisplayManager.ClearScreen(); //Create a crosshair for each new longTerm object on the surface foreach (TableObject obj in _tableManager.TableObjects.Where(obj => obj.TrackingStatus == TableObject.ETrackingStatus.LongTermTracked)) { if (_drawCircles) { ScreenCircle sc = null; _tableManager.DisplayManager.WorkThreadSafe((Action)(() => { sc = new ScreenCircle(obj.Center); sc.SetColor(ScreenCircle.EColor.blue); sc.SetText(1, obj.ObjectID.ToString()); sc.SetText(2, obj.ObjectID.ToString()); sc.SetText(3, obj.ObjectID.ToString()); sc.SetText(4, obj.ObjectID.ToString()); }), null); _tableManager.DisplayManager.AddElement(sc, ObjectTable.Code.Display.DisplayManager.DisplayLayer.top); } else { ScreenCrosshair sch = null; _tableManager.DisplayManager.WorkThreadSafe((Action)(() => sch = new ScreenCrosshair(obj.Center)),null); _tableManager.DisplayManager.AddElement(sch, ObjectTable.Code.Display.DisplayManager.DisplayLayer.top); } } }