Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        //********************************************************************
        // 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));
            }
        }
Ejemplo n.º 3
0
 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
         }
     };
 }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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;
        }
Ejemplo n.º 9
0
 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
         }
     };
 }