Exemplo n.º 1
0
        public static GraphVM GenerateClique(uint nodesCount)
        {
            GraphVM graph = new GraphVM();

            // Create Nodes
            for (uint i = 0; i < nodesCount; i++)
            {
                graph.Nodes.Add(new GraphNodeVM()
                {
                    Name = Names[i],
                });
            }

            // Connect each node with every node (without itself)
            foreach (var node in graph.Nodes)
            {
                foreach (var neighbour in graph.Nodes.Where(n => n != node))
                {
                    var edge = new GraphEdgeVM()
                    {
                        Begin = node,
                        End   = neighbour,
                    };
                    node.Edges.Add(edge);
                    graph.Edges.Add(edge);
                }
            }

            return(graph);
        }
        private void initializeComponents()
        {
            FileReader f = new FileReader();

            f.ReadFile(anomalyCsvPath);
            this.fdm = new FlightDetectorModel(f.LinesOfData, "localhost", 5400, anomalyCsvPath, normalCsvPath);

            if (anomalies != null)   //if there is anomalies
            {
                fdm.AnomaliesList     = this.anomalies.anomaliesList;
                fdm.CorrlativeCircles = this.anomalies.anomaliesRangeCircles;
            }


            ProgressBarVM pbvm = new ProgressBarVM(fdm);

            ProgressBar.Pbvm = pbvm;

            // create VM for the navigator
            NavigatorStateVM nsvm = new NavigatorStateVM(fdm);

            Navigator.Nsvm = nsvm;

            // create VM for the dataInfo
            DataInfoVM divm = new DataInfoVM(fdm);

            DataInfo.Divm = divm;

            // create VM for the grpah
            GraphVM gvm = new GraphVM(fdm);

            graph.Gvm = gvm;
        }
Exemplo n.º 3
0
 public static void FillEdges(GraphVM graph)
 {
     foreach (var edge in graph.Edges)
     {
         edge.Begin.Edges.Add(edge);
         edge.End.Edges.Add(edge);
     }
 }
Exemplo n.º 4
0
        private void Disconnect()
        {
            SitesVM.StopMonitorRegister();
            GraphVM.StopMonitorInstrument();
            GraphVM.StopMonitorTemp();

            comm.DestoryClient();
        }
Exemplo n.º 5
0
 public Graph(string id)
 {
     InitializeComponent();
     GraphVM          = new GraphVM(id);
     this.DataContext = GraphVM;
     //showColumnChart();
     //LoadLineChartData();
 }
Exemplo n.º 6
0
        // Colections of calls to update only what is shown on the graph (e.g. checkboxes ticked/unticked)
        private void displayOnlyGraphReset()
        {
            if (GraphVM != null)
            {
                // Clear the graph
                GraphVM.ClearSeries();

                // Graph everything that is checked
                GraphVM.GraphAllChecked();
            }
        }
Exemplo n.º 7
0
 public ConstVM(Constraint constraint, GraphVM graph_vm)
 {
     this.Constraint            = constraint;
     this._name                 = "C." + (Constraint.ConstraintIndex + 1).ToString();
     this._constraintlimit      = constraint.LimitValue;
     this._constrainttype       = (int)constraint.MyType;
     this._currentvalue         = Constraint.CurrentValue;
     this._isactive             = constraint.IsActive;
     this.GraphVM               = graph_vm;
     this.GraphVM.LineGraphName = this.Name;
     this.OptRunning            = false;
 }
Exemplo n.º 8
0
 private void Application_Startup(object sender, StartupEventArgs e)
 {
     Graph_VM        = new GraphVM(new GraphModel());
     Clock_VM        = new ClockVM(new ClockModel());
     MediaPlayer_VM  = new MediaPlayerVM(new MediaPlayerModel(new Client()));
     ProgressBar_VM  = new ProgressBarVM(new ProgressBarModel());
     JoystickBars_VM = new JoystickBarsVM(new JoystickBarsModel());
     // load names
     Load_Names();
     // event - observer pattern
     Load_Communication();
 }
Exemplo n.º 9
0
        private void Connect()
        {
            if (!comm.CreatClient())
            {
                MessageBox.Show("Init USB Fail");
                return;
            }

            DateTime time = DateTime.Now;

            Task.Run(() => SitesVM.MonitorRegister(30 * 1000));
            Task.Run(() => GraphVM.MonitorInstrument(30 * 1000, time));
            //Task.Run(() => GraphVM.MonitorTemp(30 + 1000, time));
        }
Exemplo n.º 10
0
        /*
         *  Calls to recalculate and regraph based on user input
         */

        // Collection of calls to update data, clear graph, regraph
        private void totalGraphReset()
        {
            // Update all data

            if (DataVM != null)
            {
                DataVM.TotalRecalculation();
            }

            if (GraphVM != null)
            {
                GraphVM.ClearSeries();

                GraphVM.GraphAllChecked();
            }
        }
Exemplo n.º 11
0
        // Collections of calls to update only the new data (e.g. max % or # of max brackets changed)
        private void newDataGraphReset()
        {
            if (DataVM != null)
            {
                // Recalculate all the *new* data only
                DataVM.NewDataRecalcuation();
            }

            if (GraphVM != null)
            {
                // Clear the graph
                GraphVM.ClearSeries();

                // Graph everything that is checked
                GraphVM.GraphAllChecked();
            }
        }
        public GraphsV(DataBase db)
        {
            InitializeComponent();
            graphVM            = new GraphVM(new Graph(), db);
            GraphABorder.Child = new GraphAV(graphVM);
            GraphBBorder.Child = new GraphBV(graphVM); //need to add graphVM to constrctor

            RegressionGraphBorder.Child = new RegressionGraphV(graphVM);
            List <string> features = this.graphVM.getParameters();

            // here need to get list of graph
            foreach (string a in features)
            {
                ListBoxItem newItem = new ListBoxItem();
                newItem.Content = a;
                featureListBox.Items.Add(newItem);
            }
        }
Exemplo n.º 13
0
        private void SmartGraphPathParentChanged()
        {
            GraphVM previous = Graph;

            Graph = GraphPath?.Parent;
            if (Graph != null && Graph == previous)
            {
                return;
            }
            previous = Graph;

            Nodes.Clear();
            Edges.Clear();
            NodesNames.Clear();
            EdgesPath.Clear();
            NodesPathOrder.Clear();

            if (Graph == null)
            {
                return;
            }

            positioner = new CircleGraphPositioner(Graph);

            double actualWidth  = ActualWidth;
            double actualHeight = ActualHeight;

            foreach (var node in Graph.Nodes)
            {
                Nodes[node]      = CalculatePosition(node, NodesMargin, actualWidth, actualHeight);
                NodesNames[node] = CalculatePosition(node, NamesMargin, actualWidth, actualHeight);
            }

            foreach (var edge in Graph.Edges)
            {
                Edges.Add(edge);
            }

            ++ChangeCount;
        }
Exemplo n.º 14
0
        private GraphVM GetAllTransactionData(int instrumentID)
        {
            var     returnData               = new GraphVM(instrumentID);
            var     intersections            = Data.Where(x => x.IsIntersection).Count();
            decimal CurrentPercentage        = 1;
            decimal previousTransactionPrice = 0;
            decimal initialPrice             = 0;

            if (intersections > 2)
            {
                int counter = 0;

                for (int i = 0; i < Data.Count - 1; i++)
                {
                    if (Data[i].IsIntersection)
                    {
                        if (counter == 0)
                        {
                            initialPrice = Data[i + 1].OpeningPrice;
                        }
                        //Köp!
                        if (counter % 2 == 0)
                        {
                            previousTransactionPrice = Data[i + 1].OpeningPrice;
                            // Handla med negativt innehav?
                            //CurrentPercentage /= (Data[i + 1].OpeningPrice / lastOpeningPrice);
                        }
                        //Sälj!
                        else if (counter % 2 != 0)
                        {
                            CurrentPercentage *= (Data[i + 1].OpeningPrice / previousTransactionPrice);
                        }
                        returnData.GraphPoints.Add(new GraphData(Data[i].TimeStamp, CurrentPercentage, Data[i + 1].OpeningPrice));
                        counter++;
                    }
                }
            }
            return(returnData);
        }
Exemplo n.º 15
0
        public Graph1()
        {
            InitializeComponent();
            CurrentVM = new GraphVM(this);
            //fromDP.SelectedDate = DateTime.Today;
            //toDP.SelectedDate = DateTime.Today;
            //OnPropertyChanged("FromDate");
            //OnPropertyChanged("ToDP");
            // CurrentVM.ViewService = (IAddReportViewService)this;
            // DataContext = CurrentVM;
            SeriesCollection = new SeriesCollection
            {
                new ColumnSeries
                {
                    Values = new ChartValues <ObservableValue>
                    {
                    },
                    //DataLabels = true,
                    //LabelPoint = point =>point.Y
                }
            };

            Labels = new string[]
            {
                //    "1",
                //    "2",
                //    "3",
                //    "4",
                //    "5",
                //    "6",
                //    "7"
            };
            Formatter             = value => value + "";
            DataContext           = this;
            searchBtn.DataContext = CurrentVM;
            fromDP.DataContext    = CurrentVM;
            toDP.DataContext      = CurrentVM;
        }
Exemplo n.º 16
0
        public static GraphPathVM GeneratePath(GraphVM graph, Individual individual)
        {
            GraphPathVM path = new GraphPathVM(graph);

            for (uint i = 1; i < individual.Length; i++)
            {
                var b    = (int)individual[i];
                var p    = (int)individual[i - 1];
                var edge = new GraphEdgeVM()
                {
                    Begin = graph.Nodes[p],
                    End   = graph.Nodes[b],
                };
                path.Edges.Add(edge);
            }

            // add last - first
            path.Edges.Add(new GraphEdgeVM()
            {
                Begin = path.Edges.Last().End,
                End   = path.Edges.First().Begin,
            });

            foreach (var edge in path.Edges)
            {
                if (!path.Nodes.Contains(edge.Begin))
                {
                    path.Nodes.Add(edge.Begin);
                }
                if (!path.Nodes.Contains(edge.End))
                {
                    path.Nodes.Add(edge.End);
                }
            }

            return(path);
        }
        public GraphBV(GraphVM g)
        {
            InitializeComponent();
            this.vm          = g;
            this.feature2    = "Feature B";
            this.DataContext = this;

            FeaturASeries = new SeriesCollection
            {
                new LineSeries
                {
                    AreaLimit = -10,
                    Values    = new ChartValues <ObservableValue>
                    {
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0),
                        new ObservableValue(0)
                    }
                }
            };

            Task.Run(() =>
            {
                while (true)  // currently not in sync with simulator
                {
                    int csvSize = vm.VM_CsvSize;
                    int time    = vm.VM_TimeStep;
                    Thread.Sleep(500);
                    if (System.Windows.Application.Current != null)
                    {
                        if (csvSize > 0 && time < csvSize)
                        {
                            this.data     = this.vm.getDataCol('B');
                            this.Feature2 = this.vm.VM_FeatureB;
                            if (this.data != null && time < csvSize)
                            {
                                value = data[time];
                            }
                            else
                            {
                                value = 0;
                            }

                            if (System.Windows.Application.Current != null)
                            {
                                Application.Current.Dispatcher.Invoke(() =>
                                {
                                    FeaturASeries[0].Values.Add(new ObservableValue(value));
                                    FeaturASeries[0].Values.RemoveAt(0);
                                    SetLecture();
                                });
                            }
                            else
                            {
                                Environment.Exit(0);
                            }
                        }
                    }
                }
            });
        }
Exemplo n.º 18
0
 public CircleGraphPositioner(GraphVM graph)
 {
     this.graph = graph;
 }
Exemplo n.º 19
0
        public RegressionGraphV(GraphVM g)
        {
            InitializeComponent();
            this.vm = g;
            this.vm.PropertyChanged +=
                delegate(Object sender, PropertyChangedEventArgs e) {
                NotifyPropertyChanged("VM_" + e.PropertyName);
            };

            SeriesCollection = new SeriesCollection
            {
                new ScatterSeries //grey
                {
                    Values = new ChartValues <ScatterPoint>
                    {
                        //   new ScatterPoint(2.6, 5, 5), //xP,yP,r
                    },
                    Title = "old",
                    Fill  = Brushes.Gray,
                    MinPointShapeDiameter = 5,
                    MaxPointShapeDiameter = 5
                },
                new ScatterSeries //blue
                {
                    Values = new ChartValues <ScatterPoint>
                    {
                    },
                    //PointGeometry = DefaultGeometries.Diamond,
                    // DataLabels = true,
                    Title = "last 30 sec",
                    Fill  = Brushes.CornflowerBlue,
                    //ScalesXAt = 100, only for acxes
                    // PointGeometry = Defa
                    MinPointShapeDiameter = 5,
                    MaxPointShapeDiameter = 5
                },
                new ScatterSeries //red
                {
                    Values = new ChartValues <ScatterPoint>
                    {
                        //  new ScatterPoint( x, y, 7),
                    },
                    PointGeometry = DefaultGeometries.Diamond,
                    // DataLabels = true,
                    Title = "annomly",
                    Fill  = Brushes.Red,
                    //ScalesXAt = 100, only for acxes
                    MinPointShapeDiameter = 7,
                    MaxPointShapeDiameter = 7
                },
                new LineSeries
                {
                    Title         = "Liner regrssion", // need to calc two range points and draw a line between
                    Values        = new ChartValues <ObservablePoint> {
                        //new ObservablePoint(start.X,start.Y),
                        //new ObservablePoint(end.X, end.Y),
                    },
                    PointGeometry = null,

                    Stroke = Brushes.Transparent,
                    Fill   = Brushes.Transparent
                },

                new ScatterSeries // transparent
                {
                    Values = new ChartValues <ScatterPoint>
                    {
                        //new ScatterPoint( 50, 50, 100),// x,y,radius
                    },
                    Fill            = Brushes.Transparent,
                    StrokeThickness = 1,
                    Stroke          = Brushes.Transparent,
                    PointGeometry   = DefaultGeometries.Circle,
                    //ScalesXAt = 100, only for acxes
                    Title = "Minimal Circle",
                    //MinPointShapeDiameter = 1,
                    // MaxPointShapeDiameter = 100000
                },

                new ScatterSeries // transparent
                {
                    Values = new ChartValues <ScatterPoint> {
                    },
                    Fill   = Brushes.Transparent,
                    Stroke = Brushes.Transparent,
                },
            };

            DataContext = this;
        }
Exemplo n.º 20
0
 public void DataInit()
 {
     ControlVM.ControlInit();
     GraphVM.GraphInit();
 }