Пример #1
0
        private void ProcessFFT()
        {
            double width = RectangleUI.X1 - RectangleUI.X0;

            SelectedData.Clear();

            double[] func = FFTHelper.WindowFunc(SelectedWindowFunc, (int)width);
            int      px   = -1;
            int      i    = 0;

            Line.Points.Where(point => point.X >= RectangleUI.X0 && point.X <= RectangleUI.X1).ToList().ForEach(p =>
            {
                if (px == -1)
                {
                    px = (int)p.X;
                }

                double pY = !IsMagnitude ? p.Y * func[i] : p.Y;
                SelectedData.Add(new Complex(pY, 0));
                if (i < width - 1)
                {
                    i++;
                }
            });

            //  Process((int)RectangleUI.X0, (int)RectangleUI.X1);
        }
Пример #2
0
 public void GenerateData(List <StockDatas> data)
 {
     for (int i = 29; i < data.Count - 1; i++)
     {
         SelectedData.Add(data[i]);
     }
 }
Пример #3
0
        private void Model_MouseUp(object sender, OxyMouseEventArgs e)
        {
            isPanBar = false;

            if (RectangleUI != null && isSelected)
            {
                if (Math.Abs(RectangleUI.X1 - RectangleUI.X0) < 10)
                {
                    ClearBar();
                    SelectedData.Clear();
                }
                else
                {
                    double min = RectangleUI.X0 < RectangleUI.X1 ? RectangleUI.X0 : RectangleUI.X1;
                    double max = RectangleUI.X0 > RectangleUI.X1 ? RectangleUI.X0 : RectangleUI.X1;
                    RectangleUI       = new RectangleBarItem(min, Int16.MinValue, max, Int16.MaxValue);
                    RectangleUI.Color = OxyColor.FromArgb(100, 250, 0, 0);
                    Bar.Items.Add(RectangleUI);
                    Bar.Items.RemoveAt(0);
                    Line.Points.Where(point => point.X > min && point.X < max).ToList().ForEach(p =>
                    {
                        SelectedData.Add(new Complex(p.Y, 0));
                    });
                    LastX = (int)min;
                    Debug.WriteLine(SelectedData.Count());
                }
            }
            isSelected = false;
        }
        private void Checked(object sender, RoutedEventArgs e)
        {
            FilterData item = (FilterData)((CheckBox)e.OriginalSource).Tag;

            if (!SelectedData.Contains(item.Data))
            {
                SelectedData.Add(item.Data);
            }
        }
        private void SelectableData_ObjectSelectionChanged(object sender, SelectableObjectEventArgs e)
        {
            var selectedObject = (SelectableObject <IVoxelDataStructure>)sender;

            if (e.IsNowSelected)
            {
                SelectedData.Add(selectedObject.Value);
            }
            else
            {
                SelectedData.Remove(selectedObject.Value);
            }
        }
Пример #6
0
        private async Task selectItemAsync(TItem item, object selected)
        {
            if ((bool)selected)
            {
                SelectedData.Add(item);
            }
            else
            {
                SelectedData.Remove(item);
            }
            await SelectedDataChanged.InvokeAsync(SelectedData);

            StateHasChanged();
        }
Пример #7
0
        private void Model_MouseUp(object sender, OxyMouseEventArgs e)
        {
            isPanBar = false;

            if (RectangleUI != null && isSelected)
            {
                if (Math.Abs(RectangleUI.X1 - RectangleUI.X0) < 10)
                {
                    ClearBar();
                    SelectedData.Clear();
                }
                else
                {
                    double[] func = FFTHelper.WindowFunc(SelectedWindowFunc, 512);
                    double   min  = RectangleUI.X0 < RectangleUI.X1 ? RectangleUI.X0 : RectangleUI.X1;
                    double   max  = RectangleUI.X0 > RectangleUI.X1 ? RectangleUI.X0 : RectangleUI.X1;
                    RectangleUI       = new RectangleBarItem(min, Int16.MinValue, max, Int16.MaxValue);
                    RectangleUI.Color = OxyColor.FromArgb(100, 0, 0, 250);
                    Bar.Items.Add(RectangleUI);
                    Bar.Items.RemoveAt(0);
                    int func_i = 0;
                    Line.Points.Where(point => point.X > min && point.X < max).ToList().ForEach(p =>
                    {
                        SelectedData.Add(new Complex(p.Y * func[func_i], 0));

                        if (func_i == 511)
                        {
                            func_i = 0;
                        }
                        else
                        {
                            func_i++;
                        }
                    });
                    LastX = (int)min;

                    if (!IsMagnitude)
                    {
                        Process2((int)RectangleUI.X0, (int)RectangleUI.X1);
                        // Process((int)RectangleUI.X0, (int)RectangleUI.X1);
                    }
                    else
                    {
                        Morphing();
                    }
                }
            }
            isSelected = false;
        }
Пример #8
0
 private void RunWithSelectedItemRestore(Action action)
 {
     if (SelectionMode == SelectionMode.Single)
     {
         var previouslySelectedItem = SelectedItem;
         action();
         SelectedItem = previouslySelectedItem;
     }
     else
     {
         var previouslySelectedItems = SelectedData.ToList();
         action();
         var currentlySelectedItems = SelectedData.ToList();
         foreach (var item in previouslySelectedItems.Where(i => !currentlySelectedItems.Contains(i)))
         {
             SelectedData.Add(item);
         }
     }
 }
Пример #9
0
        private async Task selectItemsAsync(List <TItem> items, object selected)
        {
            foreach (var item in items)
            {
                if ((bool)selected)
                {
                    if (!SelectedData.Contains(item))
                    {
                        SelectedData.Add(item);
                    }
                }
                else
                {
                    SelectedData.Remove(item);
                }
            }
            await SelectedDataChanged.InvokeAsync(SelectedData);

            StateHasChanged();
        }