Exemple #1
0
        protected void OnVisitingNode(VisitingNodeEventArgs e)
        {
            var handler = this.VisitingNode;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Exemple #2
0
        private void OnVisitingNode(VisitingNodeEventArgs e)
        {
            var handler = this.VisitingNode;

            if (handler != null)
            {
                logger.Trace("Before firing VisitingNode event.");
                handler(this, e);
                logger.Trace("VisitingNode event fired.");
            }
        }
Exemple #3
0
        public override INode Traverse(INode root)
        {
            VisitedNodeCollection visited   = new VisitedNodeCollection();
            Queue <INode>         nodeQueue = new Queue <INode>();

            nodeQueue.Enqueue(root);
            visited.Add(root);

            INode curr = null;
            VisitingNodeEventArgs e;

            while (nodeQueue.Any())
            {
                curr = nodeQueue.Dequeue();
                this.OnVisitingNode(e = new VisitingNodeEventArgs(curr));

                if (e.Found)
                {
                    // if we were looking for this particular node, return it!
                    return(curr);
                }

                this.OnVisitedNode(curr);

                foreach (var adjacentNode in curr.GetAdjacentNodes())
                {
                    if (visited.NotContains(adjacentNode))
                    {
                        visited.Add(adjacentNode);
                        nodeQueue.Enqueue(adjacentNode);
                    }
                }
            }

            return(null);
        }
Exemple #4
0
 private void HandleVisitingNodeInComponent(object sender, VisitingNodeEventArgs e)
 {
     OnVisitingNode(e);
 }