Пример #1
0
    public FEdge AddEdge(FVertex from, FVertex to, String type)
    {
        FEdge edge = new FEdge(from, to, type);

        AddEdge(edge);
        return(edge);
    }
Пример #2
0
 public static float fr(float x, string t, FEdge e)
 {
     // finish
     switch(t) {
     case "audience":
         //...
         if (e.ToVertex.Data.name == "CENTERA") {
             return 0;
         } else {
             return (-1*x*x) + ((L/2)*(L/2));
         }
         break;
     case "center":
     case "char":
         return (-1*x*x) + (avgdist * avgdist);
         break;
     case "target":
         return 0;
         break;
     case "human":
         return 0;
         break;
     default:
         return (-1*x*x) + (avgdist * avgdist);
     }
     //return 0f;
 }
Пример #3
0
    internal void RemoveEdge(FEdge edge)
    {
        #region Asserts

        Debug.Assert(edge != null);

        #endregion

        RemoveEdgeFromVertex(edge);
    }
Пример #4
0
    internal void AddEdge(FEdge edge)
    {
        #region Asserts

        Debug.Assert(edge != null);

        #endregion


        edges.Add(edge);
    }
Пример #5
0
    private void AddEdgeToVertices(FEdge edge)
    {
        #region Asserts

        System.Diagnostics.Debug.Assert(edge != null);
        System.Diagnostics.Debug.Assert(edge.FromVertex != null);
        System.Diagnostics.Debug.Assert(edge.ToVertex != null);

        #endregion

        edge.FromVertex.AddEdge(edge);
        edge.ToVertex.AddEdge(edge);
    }
Пример #6
0
    private void RemoveEdgeFromVertex(FEdge edge)
    {
        #region Asserts

        Debug.Assert(this.edges.Remove(edge), "Edge not found on vertex in RemoveEdgeFromVertex.");

        #endregion

        this.edges.Remove(edge);


        edges.Remove(edge);
    }
Пример #7
0
    public bool RemoveEdge(FEdge edge)
    {
        //CheckEdgeNotNull (edge);

        if (!graphEdges.Remove(edge))
        {
            return(false);
        }

        edge.FromVertex.RemoveEdge(edge);
        edge.ToVertex.RemoveEdge(edge);

        return(true);
    }
Пример #8
0
    public void AddEdge(FEdge edge)
    {
        //CheckEdgeNotNull (edge);

        if ((!graphVertices.Contains (edge.FromVertex)) || (!graphVertices.Contains (edge.ToVertex))) {
            throw new ArgumentException ("Vertex could not be found");
        }

        if (edge.FromVertex.HasEdgeTo (edge.ToVertex)) {
            throw new ArgumentException ("Edge already exists");
        }

        graphEdges.Add (edge);
        AddEdgeToVertices (edge);
    }
Пример #9
0
    public void AddEdge(FEdge edge)
    {
        //CheckEdgeNotNull (edge);

        if ((!graphVertices.Contains(edge.FromVertex)) || (!graphVertices.Contains(edge.ToVertex)))
        {
            throw new ArgumentException("Vertex could not be found");
        }

        if (edge.FromVertex.HasEdgeTo(edge.ToVertex))
        {
            throw new ArgumentException("Edge already exists");
        }

        graphEdges.Add(edge);
        AddEdgeToVertices(edge);
    }
Пример #10
0
    public static float fr(float x, string t, FEdge e)        // finish
    {
        switch (t)
        {
        case "audience":
            //...
            if (e.ToVertex.Data.name == "CENTERA")
            {
                return(0);
            }
            else
            {
                return((-1 * x * x) + ((L / 2) * (L / 2)));
            }
            break;

        case "center":
        case "char":
            return((-1 * x * x) + (avgdist * avgdist));

            break;

        case "target":
            return(0);

            break;

        case "human":
            return(0);

            break;

        default:
            return((-1 * x * x) + (avgdist * avgdist));
        }
        //return 0f;
    }
Пример #11
0
    private void AddEdgeToVertices(FEdge edge)
    {
        #region Asserts

        System.Diagnostics.Debug.Assert (edge != null);
        System.Diagnostics.Debug.Assert (edge.FromVertex != null);
        System.Diagnostics.Debug.Assert (edge.ToVertex != null);

            #endregion

        edge.FromVertex.AddEdge (edge);
        edge.ToVertex.AddEdge (edge);
    }
Пример #12
0
    public bool RemoveEdge(FEdge edge)
    {
        //CheckEdgeNotNull (edge);

        if (!graphEdges.Remove (edge)) {
            return false;
        }

        edge.FromVertex.RemoveEdge (edge);
        edge.ToVertex.RemoveEdge (edge);

        return true;
    }
Пример #13
0
 public void AddEdge(FVertex from, FVertex to, double weight, String type)
 {
     FEdge edge = new FEdge (from, to, weight, type);
     AddEdge (edge);
 }
Пример #14
0
 public FEdge AddEdge(FVertex from, FVertex to, String type)
 {
     FEdge edge = new FEdge (from, to, type);
     AddEdge (edge);
     return edge;
 }
Пример #15
0
    public void AddEdge(FVertex from, FVertex to, double weight, String type)
    {
        FEdge edge = new FEdge(from, to, weight, type);

        AddEdge(edge);
    }
Пример #16
0
    internal void RemoveEdge(FEdge edge)
    {
        #region Asserts

        Debug.Assert(edge != null);

        #endregion

        RemoveEdgeFromVertex(edge);
    }
Пример #17
0
    internal void AddEdge(FEdge edge)
    {
        #region Asserts

        Debug.Assert(edge != null);

        #endregion

            edges.Add(edge);
    }
Пример #18
0
    private void RemoveEdgeFromVertex(FEdge edge)
    {
        #region Asserts

            Debug.Assert(this.edges.Remove(edge), "Edge not found on vertex in RemoveEdgeFromVertex.");

            #endregion

            this.edges.Remove(edge);

                edges.Remove(edge);
    }