Example #1
0
        private Node AddNode(uint id, IGraphTag tag = null)
        {
            var newNode = new Node(id, tag);

            Nodes.Add(newNode);
            return(newNode);
        }
Example #2
0
        public Arc AddArc(Node from, Node to, IGraphTag tag = null)
        {
            if (from.GetArcTo(to) != null)
            {
                return(null);
            }

            var newArc = new Arc(from, to, tag);

            from.ArcsOut.Add(newArc);
            to.ArcsIn.Add(newArc);
            Arcs.Add(newArc);

            return(newArc);
        }
Example #3
0
 public Arc(Node from, Node to, IGraphTag tag)
 {
     From = from;
     To   = to;
     Tag  = tag;
 }
Example #4
0
 public Node(uint id, IGraphTag tag)
 {
     Id  = id;
     Tag = tag;
 }
Example #5
0
 public Arc AddArc(int id1, int id2, IGraphTag tag = null)
 {
     return(AddArc(GetNode(id1), GetNode(id2), tag));
 }
Example #6
0
 public Node AddNode(IGraphTag tag = null)
 {
     return(AddNode(_nodeIndex++, tag));
 }