public void LoadPlotFrame(QGEdge edge)
 {
     this.WPFGraphControl.OverlayCanvas.Background         = Brushes.Gray.Clone();
     this.WPFGraphControl.OverlayCanvas.Background.Opacity = 0.2;
     this.WPFGraphControl.OverlayCanvas.Visibility         = Visibility.Visible;
     this.PlotFrame.Show(this.CurrentAnalyticsData, edge);
 }
 public void LoadData(QwasiAnalyticsData analyticsData, QGEdge edge)
 {
     _hasRunAnimation = !this.AnimateOnLoadingData;
     this.GeneratedChartControl.DisableAnimations = !this.AnimateOnLoadingData;
     this.LoadedAnalyticsData = analyticsData;
     this.LoadedEdge          = edge;
 }
예제 #3
0
        public void LoadData(QwasiAnalyticsData analyticsData, QGEdge edge)
        {
            this.LoadedAnalyticsData = analyticsData;
            this.LoadedEdge          = edge;

            this.PlotGenerator.LoadData(analyticsData, edge);

            __updateChart();
            __updatePlotContentPaneLabels();
        }
        protected void ApplySimulationGraphVisualizations()
        {
            Dictionary <QGEdge, double> edges = new Dictionary <QGEdge, double>();

            foreach (var term in this.CurrentSimulationState.VectorTerms)
            {
                QGEdge edge = term.BasisVector.Vertex1.GetEdge(term.BasisVector.Vertex2);
                this.SimulationEdgeLabels[edge].SetEdgeStateCoefficient(term.BasisVector, term.Coefficient.ToString());
            }

            foreach (var term in this.CurrentSimulationState.EdgeProbabilities)
            {
                var   color     = __generateColor(term.Probability);
                Brush lineBrush = new SolidColorBrush(Color.FromRgb((byte)(255 * color.R), (byte)(255 * color.G), (byte)(255 * color.B)));
                term.Edge.SetColorOverride(lineBrush, Brushes.Red, null, null);
            }
        }
        public QwasiAnalyticsData CompileAnalytics(int stepInterval, int stepRangeStart, int stepRangeEnd)
        {
            if (stepRangeEnd < stepRangeStart)
            {
                return(new QwasiAnalyticsData());
            }

            __initializeMath();
            _currentStep = (IHSExplicitVectorValue <HSEdgeState>)(IHSExplicitVector <HSEdgeState> .ZeroVector(_hs) + __qwGetStartVector(IQGVertex.StartVertex));
            QwasiAnalyticsData analyticsData = new QwasiAnalyticsData()
            {
                StepInterval = stepInterval, MaxStepValue = 0
            };
            QwasiEvaluationState currentState = new QwasiEvaluationState(__performStepOperation(stepRangeStart), stepRangeStart);

            analyticsData.StateEvaluationList.Add(currentState);

            int stepCount;

            for (stepCount = stepRangeStart; stepCount + stepInterval <= stepRangeEnd; stepCount += stepInterval)
            {
                currentState = new QwasiEvaluationState(__performStepOperation(stepInterval), stepCount + stepInterval);
                analyticsData.StateEvaluationList.Add(currentState);
            }
            analyticsData.MaxStepValue = stepCount;

            List <QGEdge> updatedEdges = new List <QGEdge>();

            foreach (HSEdgeState edgeState in analyticsData.BasisStates)
            {
                QGEdge edge = edgeState.Vertex1.GetEdge(edgeState.Vertex2);
                if (updatedEdges.Contains(edge))
                {
                    continue;
                }

                this.AnalyticsEdgeLabels[edge].LoadAnalyticsData(analyticsData);

                updatedEdges.Add(edge);
            }

            this.CurrentAnalyticsData = analyticsData;
            this.RaiseAnalyticsDataCompiledEvent(new QwasiAnalyticsEventArgs(analyticsData));

            return(analyticsData);
        }
예제 #6
0
 public QGVertexEdgeEventArgs(QGEdge edge)
 {
     this.Edge = edge;
 }
 private void __unbindSimulationEdgeLabelEvents(QGEdge edge)
 {
     edge.Refreshed  -= __edgeSimulation_Refreshed;
     edge.MouseEnter -= __edgeSimulation_MouseEnter;
     edge.MouseLeave -= __edgeSimulation_MouseLeave;
 }
 private void __unbindAnalyticsEdgeLabelEvents(QGEdge edge)
 {
     edge.Refreshed  -= __edgeAnalytics_Refreshed;
     edge.MouseEnter -= __edgeAnalytics_MouseEnter;
     edge.MouseLeave -= __edgeAnalytics_MouseLeave;
 }
예제 #9
0
 public void Show(QwasiAnalyticsData analyticsData, QGEdge edge)
 {
     this.Visibility = Visibility.Visible;
     this.PlotConfigurationPane.LoadData(analyticsData, edge);
 }