예제 #1
0
 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;
 }
예제 #2
0
 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;
 }