public void AddAdjacentNodes(Vertex a, Vertex b)
 {
     for (int i = 0; i < traversalLines.Length; i++)
     {
         if (traversalLines[i].vertex == a)
         {
             if (!traversalLines[i].adjacentVertexes.Contains(b))
             {
                 traversalLines[i].adjacentVertexes.Add(b);
             }
         }
     }
     a.AddAdjacentNode(b);
 }
示例#2
0
        public IList <Vertex <TaskJob> > ConvertToGraphVertex(IList <TaskJob> taskJobs)
        {
            IList <Vertex <TaskJob> > taskJobsVertex = new List <Vertex <TaskJob> >();

            taskJobs.ToList().ForEach((taskJob) => {
                // Create a new vertext from the task.
                Vertex <TaskJob> task = new Vertex <TaskJob>();
                task.node             = taskJob;

                taskJob.DependentTasks.ForEach(dependentTask =>
                {
                    task.AddAdjacentNode(new Vertex <TaskJob> {
                        node = dependentTask
                    });
                });

                // Add the vertex task to the list.
                taskJobsVertex.Add(task);
            });

            return(taskJobsVertex);
        }