예제 #1
0
 /// <summary>
 ///	 Remove a UndirectedEdge
 /// </summary>
 /// <param name="pGVSEdge"></param>
 public void Remove(GVSUndirectedEdge pGVSEdge)
 {
     this.gvsGraphEdges.Remove(pGVSEdge);
 }
예제 #2
0
        private void BuildUndirectedEdge(XmlElement pParent, GVSUndirectedEdge pEdge)
        {
            if (pEdge.GetGvsVertizes() != null)
            {
                var vertex1      = pEdge.GetGvsVertizes()[0];
                var vertex2      = pEdge.GetGvsVertizes()[1];
                var vertex1Exist = false;
                var vertex2Exist = false;

                foreach (var vertex in gvsGraphVertizes)
                {
                    if (vertex == vertex1)
                    {
                        vertex1Exist = true;
                    }
                    if (vertex == vertex2)
                    {
                        vertex2Exist = true;
                    }
                }

                if (vertex1Exist == true && vertex2Exist == true && vertex1 != null && vertex2 != null)
                {
                    var undirectedEdge = document.CreateElement(EDGE);
                    pParent.AppendChild(undirectedEdge);
                    undirectedEdge.SetAttribute(ATTRIBUTEID, pEdge.GetHashCode().ToString());
                    var arrowPos = pEdge.HasArrow();
                    undirectedEdge.SetAttribute(ISDIRECTED, "false");
                    undirectedEdge.SetAttribute(ARROWPOS, arrowPos.ToString());

                    var edgeStyle = pEdge.GetStyle() ?? new GVSStyle();

                    var label = document.CreateElement(LABEL);
                    undirectedEdge.AppendChild(label);
                    var edgeLabel = pEdge.GetGvsEdgeLabel() ?? "";

                    label.AppendChild(document.CreateTextNode(edgeLabel));

                    var lineColor = document.CreateElement(LINECOLOR);
                    undirectedEdge.AppendChild(lineColor);
                    lineColor.AppendChild(document.CreateTextNode(STANDARD));

                    var lineStyle = document.CreateElement(LINESTYLE);
                    undirectedEdge.AppendChild(lineStyle);
                    lineStyle.AppendChild(document.CreateTextNode(STANDARD));


                    var lineThick = document.CreateElement(LINETHICKNESS);
                    undirectedEdge.AppendChild(lineThick);
                    lineThick.AppendChild(document.CreateTextNode(STANDARD));


                    var fromVertex = document.CreateElement(FROMVERTEX);
                    undirectedEdge.AppendChild(fromVertex);
                    fromVertex.AppendChild(document.CreateTextNode(pEdge.GetGvsVertizes()[0].GetHashCode().ToString()));

                    var toVertex = document.CreateElement(TOVERTEX);
                    undirectedEdge.AppendChild(toVertex);
                    toVertex.AppendChild(document.CreateTextNode(pEdge.GetGvsVertizes()[1].GetHashCode().ToString()));
                }
                else
                {
                    Console.WriteLine("Vertex missing or null");
                }
            }
            else
            {
                Console.WriteLine("No Array or null");
            }
        }
예제 #3
0
 /// <summary>
 ///	 Add a UndirectedEdge
 /// </summary>
 /// <param name="pGVSEdge"></param>
 public void Add(GVSUndirectedEdge pGVSEdge)
 {
     this.gvsGraphEdges.Add(pGVSEdge);
 }