Exemple #1
0
        public EdgeAbstract AddEdge(List <Vertex> vertexes, string vertexFromName, string vertexToName, int?weight)
        {
            if (vertexes.All(v => v.Name != vertexFromName))
            {
                throw new GraphException("Vertex from do not exist");
            }

            if (vertexes.All(v => v.Name != vertexToName))
            {
                throw new GraphException("Vertex to do not exist");
            }

            var vertexFrom = vertexes.First(v => v.Name == vertexFromName);
            var vertexTo   = vertexes.First(v => v.Name == vertexToName);

            EdgeAbstract edge  = _edgeFactory.GetEdge(vertexes, vertexFromName, vertexToName, weight);
            EdgeAbstract edge2 = _edgeFactory.GetEdge(vertexes, vertexToName, vertexFromName, weight);

            vertexFrom.Edges.Add(edge);
            vertexTo.Edges.Add(edge2);

            return(edge);
        }
Exemple #2
0
 public EdgeWeighted(EdgeAbstract edge, int weight) : base(edge)
 {
     Weight = weight;
 }
Exemple #3
0
 protected EdgeDecorator(EdgeAbstract edge)
 {
     _edge = edge;
 }
Exemple #4
0
 public CellContentData(EdgeAbstract edgeAbstract) : this(edgeAbstract.aPositionV3, edgeAbstract.bPositionV3)
 {
 }
 //add edges
 public void AddEdge(EdgeAbstract edge)
 {
     _edges.Add(edge);
 }