public void Register(IGuardInfo guard, SimulationVisualGuard2D visual) { if (!_managedInfoObjects.ContainsKey(guard)) { _managedInfoObjects[guard] = new SimulationInfoGuard(_infoHost, guard); } _managed2DVisuals[visual] = _managedInfoObjects[guard]; _managed2DVisuals[visual].ManagedVisual2D = visual; }
public SimulationVisualGuard2D( IGuardInfo guard, DetailLevel detailLevel, Transformation2D transformer, double strokeThickness, MouseButtonEventHandler elementClickAction, SimulationAnimation2D controller) : base(detailLevel, transformer, strokeThickness, elementClickAction, controller) { _guard = guard; // Create waypoint dot _geometry = new EllipseGeometry( new Point(_transformer.ProjectX(guard.GetInfoCenterX()), _transformer.ProjectY(guard.GetInfoCenterY())), _transformer.ProjectXLength(guard.GetInfoLength() / 2.0), _transformer.ProjectYLength(guard.GetInfoLength() / 2.0)); // Paint it Fill = _guard.GetInfoIsBarrier() ? VisualizationConstants.BrushSemaphoreEntry : VisualizationConstants.BrushSemaphoreGuard; Cursor = System.Windows.Input.Cursors.Hand; MouseDown += _elementClickAction; Stroke = VisualizationConstants.BrushOutline; StrokeThickness = StrokeThicknessReference; }