Bevisuali.UX.Graph.GraphInspector.UpdateEdges C# (CSharp) Метод

UpdateEdges() приватный Метод

private UpdateEdges ( GraphNode nodeOfInterest = null ) : void
nodeOfInterest GraphNode
Результат void
        private void UpdateEdges(GraphNode nodeOfInterest = null)
        {
            // Clear edges.
            _edges.ForAll(edge =>
            {
                xRoot.Children.Remove(edge);
            });
            _edges.Clear();

            // For each node already in this inspector.
            foreach (var graphNode in this._nodes)
            {
                RandomVariable variable = (RandomVariable)graphNode.Tag;

                // Check if this node connects to another node already in the graph.
                foreach (var parentVariable in variable.Parents.Select(p => _network.GetVariable(p)))
                {
                    var parentNode = parentVariable.UserData as GraphNode;
                    Debug.Assert(parentNode != null);

                    // Create edge.
                    GraphEdge edge = new GraphEdge();
                    xRoot.Children.Add(edge);
                    _edges.Add(edge);
                    edge.From = parentNode;
                    edge.To = graphNode;
                    edge.SetValue(Canvas.ZIndexProperty, LayerUnimportantEdges);
                }
            }
        }