static Marker BuildEndPoint(Point location, Brush color, bool isUser) { int width = isUser ? 32: 16; Marker marker = new Marker() { Center = location, RenderTransform = new TranslateTransform(location.X - width / 2, location.Y - width / 2), Fill = color, Width = width, Height = width, Tag = 3 }; return marker; }
private void ShowUserDots() { Dot cp1 = BuildControlPoint(UserCurve.ControlPoint1, 1, Brushes.Blue, true); Dot cp2 = BuildControlPoint(UserCurve.ControlPoint2, 2, Brushes.Red,true); Marker cp3 = BuildEndPoint(UserCurve.EndPoint, Brushes.Yellow, true); Canvas.Children.Add(cp1); Canvas.Children.Add(cp2); Canvas.Children.Add(cp3); endPoint = BuildEndPoint(UserCurve.StartPoint, Brushes.Black, false); userDots.AddRange(new List<IDot> { cp1, cp2, cp3 }); Canvas.Children.Add(endPoint); }
void NewSession() { if (Test.Count == conditions.Count) return; int[] condition = conditions[Test.SelectionIndex % conditions.Count]; int rIndex = condition[1]; int dIndex = condition[2]; float radius = sizes[rIndex]; float maxDistance = distances[dIndex]; Indicator.Fill = Brushes.Red; if (targets != null && targets.Count > 0) { foreach (UIElement d in targets) Canvas.Children.Remove(d); targets.Clear(); } Point[] points = GeoHelper.ChooseTrianglePoints(new Point(960, 540), maxDistance, radius); Dot target1 = new Dot() { Fill = Brushes.Red, Radius = 32, Center = points[0], Tag = 1 }; Marker target2 = new Marker() { Fill = Brushes.Blue, Side= radius*2, Center = points[1], Tag = 2 }; Marker target3 = new Marker() { Fill = Brushes.Green, Side = radius* 2, Center = points[2], Tag = 3 }; targets = new List<IDot>() { target1, target2, target3 }; Canvas.Children.Add(target1); Canvas.Children.Add(target2); Canvas.Children.Add(target3); gazeOn = true; // Participant, Rep, Size, Distance, Time ClockLabel.Visibility = Visibility.Hidden; }