public MainWindow() { InitializeComponent(); DataContext = this; multiSlider.SendPacket += SendDMXPacket; InitArtNet(); ObservableNotifiableCollection<PatternPoint> pattern = new ObservableNotifiableCollection<PatternPoint>(); pattern.Add(new PatternPoint(Color.Green, 1) { LedCount = 1 }); pattern.Add(new PatternPoint(Color.Aqua, 8) { LedCount = 5, Variant = PointVariant.Range }); pattern.Add(new PatternPoint(Color.Blue, 16) { LedCount = 1 }); pattern.Add(new PatternPoint(Color.Magenta, 25) { LedCount = 5, Variant = PointVariant.Range }); pattern.Add(new PatternPoint(Color.Violet, 40) { LedCount = 1 }); multiSlider.Maximum = 40; //pattern.Add(new PatternPoint(Color.Blue, 2) { LedCount = 1 }); //pattern.Add(new PatternPoint(Color.Red, 40) { LedCount = 30, Variant = PointVariant.Range }); //pattern.Add(new PatternPoint(Color.Yellow, 120) { LedCount = 1 }); //pattern.Add(new PatternPoint(Color.Orange, 140) { LedCount = 5, Variant = PointVariant.Range }); //pattern.Add(new PatternPoint(Color.Green, 170) { LedCount = 1 }); //multiSlider.Maximum = 170; //pattern.Add(new PatternPoint(Color.Blue, 2) { LedCount = 1 }); //pattern.Add(new PatternPoint(Color.Red, 40) { LedCount = 30, Variant = PointVariant.Range }); //pattern.Add(new PatternPoint(Color.Yellow, 90) { LedCount = 1 }); //pattern.Add(new PatternPoint(Color.Orange, 110) { LedCount = 20, Variant = PointVariant.Range }); //pattern.Add(new PatternPoint(Color.FromArgb(51, 105, 255), 140) { LedCount = 1, Variant = PointVariant.Lightness }); //pattern.Add(new PatternPoint(Color.Green, 170) { LedCount = 1 }); //multiSlider.Maximum = 170; //pattern.Add(new PatternPoint(Color.FromArgb(0, 0, 153), 1) { LedCount = 1 }); //pattern.Add(new PatternPoint(Color.FromArgb(51, 105, 255), 5) { LedCount = 1, Variant = PointVariant.Lightness }); //pattern.Add(new PatternPoint(Color.FromArgb(0, 119, 255), 8) { LedCount = 1, Variant = PointVariant.Lightness }); //pattern.Add(new PatternPoint(Color.FromArgb(0, 136, 204), 11) { LedCount = 1, Variant = PointVariant.Lightness }); //pattern.Add(new PatternPoint(Color.FromArgb(0, 133, 153), 14) { LedCount = 1 }); //multiSlider.Maximum = 14; Pattern = pattern; LightMarkers = new ObservableNotifiableCollection<PatternPoint>(); ObservableNotifiableCollection<PatternPoint> stripModel = new ObservableNotifiableCollection<PatternPoint>(); for (int i = 0; i < multiSlider.Maximum; i++) stripModel.Add(new PatternPoint(Color.Red, i)); StripModel = stripModel; }
//******************************************************************** // FloatContour() // public FloatContour(FloatContour contour) //***006FC new { if (contour == null) { throw new ArgumentNullException(nameof(contour)); } _points = new ObservableNotifiableCollection <PointF>(); foreach (var p in contour.Points) { _points.Add(new PointF(p.X, p.Y, p.Z)); } }
public void SetDataContext(ObservableNotifiableCollection <DataPoint> events, SelectedRange range) { this.Minimum = range.Start; this.Maximum = range.Stop; this.SetSelection(this.Minimum, this.Minimum); this.InitializeTickBar(); this.DataContext = new EventRangeCollection() { DataPoints = events, Range = new SelectedRange() { Start = this.Minimum, Stop = this.Maximum } }; }
void OnItemsSourceChanged(DependencyPropertyChangedEventArgs args) { if (args.OldValue != null) { ObservableNotifiableCollection <Darwin.Point> coll = args.OldValue as ObservableNotifiableCollection <Darwin.Point>; coll.CollectionChanged -= OnCollectionChanged; coll.ItemPropertyChanged -= OnItemPropertyChanged; } if (args.NewValue != null) { ObservableNotifiableCollection <Darwin.Point> coll = args.NewValue as ObservableNotifiableCollection <Darwin.Point>; coll.CollectionChanged += OnCollectionChanged; coll.ItemPropertyChanged += OnItemPropertyChanged; } InvalidateVisual(); }
public MainWindow() { InitializeComponent(); DataContext = this; ObservableNotifiableCollection<PatternPoint> pattern = new ObservableNotifiableCollection<PatternPoint>(); pattern.Add(new PatternPoint(Color.Blue, 2) { LedCount = 1 }); pattern.Add(new PatternPoint(Color.Red, 50) { LedCount = 40 }); pattern.Add(new PatternPoint(Color.Yellow, 120) { LedCount = 1 }); pattern.Add(new PatternPoint(Color.Green, 170) { LedCount = 1 }); Pattern = pattern; ObservableNotifiableCollection<PatternPoint> stripModel = new ObservableNotifiableCollection<PatternPoint>(); for (int i = 0; i < 170; i++) stripModel.Add(new PatternPoint(Color.Black, i)); StripModel = stripModel; }
protected void OnItemsSourceChanged(DependencyPropertyChangedEventArgs args) { visualChildren.Clear(); if (args.OldValue != null) { ObservableNotifiableCollection <CoordinateFeaturePoint> coll = args.OldValue as ObservableNotifiableCollection <CoordinateFeaturePoint>; coll.CollectionCleared -= OnCollectionCleared; coll.CollectionChanged -= OnCollectionChanged; coll.ItemPropertyChanged -= OnItemPropertyChanged; } if (args.NewValue != null) { ObservableNotifiableCollection <CoordinateFeaturePoint> coll = args.NewValue as ObservableNotifiableCollection <CoordinateFeaturePoint>; coll.CollectionCleared += OnCollectionCleared; coll.CollectionChanged += OnCollectionChanged; coll.ItemPropertyChanged += OnItemPropertyChanged; CreateVisualChildren(coll); } }
public ObservableNotifiableCollection <DataPoint> CreateDataPointsFromEvents( IEnumerable <TimelineEvent> events, double minValue, double maxValue, double actualPixelWidth) { var datapoints = new ObservableNotifiableCollection <DataPoint>(); const int maxTypes = 6; double totalDuration = maxValue - minValue; //We want to display less dots if possible pixels. double resolutionPerPixel = totalDuration / (actualPixelWidth * 96); //96DPI per inch double prev = 0; double[] prevType = new double[maxTypes]; double tickDelta; foreach (var item in events) { if ((item.Ticks - prev) >= resolutionPerPixel || item.Level != prevType[item.Level]) { prev = item.Ticks; prevType[item.Level] = item.Level; tickDelta = item.Ticks - minValue; datapoints.Add(new DataLibrary.DataPoint() { VariableX = tickDelta / totalDuration, VariableY = 0.1 + ((double)item.Level / 6.0), Type = item.Level }); } } return(datapoints); }
public ObservableNotifiableCollection<DataPoint> CreateDataPointsFromEvents( IEnumerable<TimelineEvent> events, double minValue, double maxValue, double actualPixelWidth) { var datapoints = new ObservableNotifiableCollection<DataPoint>(); const int maxTypes = 6; double totalDuration = maxValue - minValue; //We want to display less dots if possible pixels. double resolutionPerPixel = totalDuration / (actualPixelWidth * 96); //96DPI per inch double prev = 0; double[] prevType = new double[maxTypes]; double tickDelta; foreach (var item in events) { if ((item.Ticks - prev) >= resolutionPerPixel || item.Level != prevType[item.Level]) { prev = item.Ticks; prevType[item.Level] = item.Level; tickDelta = item.Ticks - minValue; datapoints.Add(new DataLibrary.DataPoint() { VariableX = tickDelta / totalDuration, VariableY = 0.1 + ((double)item.Level / 6.0), Type = item.Level }); } } return datapoints; }
public void SetDataContext(ObservableNotifiableCollection<DataPoint> events, SelectedRange range) { this.Minimum = range.Start; this.Maximum = range.Stop; this.SetSelection(this.Minimum, this.Minimum); this.InitializeTickBar(); this.DataContext = new EventRangeCollection() { DataPoints = events, Range = new SelectedRange() { Start = this.Minimum, Stop = this.Maximum } }; }