Ejemplo n.º 1
0
        private void BuildRelativVertex(XmlElement pParent, GVSRelativeVertex pVertex)
        {
            var relativeVertex = document.CreateElement(RELATIVVERTEX);

            pParent.AppendChild(relativeVertex);
            relativeVertex.SetAttribute(ATTRIBUTEID, pVertex.GetHashCode().ToString());
            var vertexStyle = pVertex.GetStyle();

            var label = document.CreateElement(LABEL);

            relativeVertex.AppendChild(label);
            var vertexLabel = pVertex.GetGvsVertexLabel() ?? "";

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

            var lineColor = document.CreateElement(LINECOLOR);

            relativeVertex.AppendChild(lineColor);
            lineColor.AppendChild(document.CreateTextNode(vertexStyle.GetLineColor().ToString()));

            var lineStyle = document.CreateElement(LINESTYLE);

            relativeVertex.AppendChild(lineStyle);
            lineStyle.AppendChild(document.CreateTextNode(vertexStyle.GetLineStyle().ToString()));

            var lineThick = document.CreateElement(LINETHICKNESS);

            relativeVertex.AppendChild(lineThick);
            lineThick.AppendChild(document.CreateTextNode(vertexStyle.GetLineThickness().ToString()));

            var fillColor = document.CreateElement(FILLCOLOR);

            relativeVertex.AppendChild(fillColor);
            fillColor.AppendChild(document.CreateTextNode(vertexStyle.GetFillColor().ToString()));

            var xPos = document.CreateElement(XPOS);

            relativeVertex.AppendChild(xPos);
            xPos.AppendChild(document.CreateTextNode(pVertex.GetX().ToString()));

            var yPos = document.CreateElement(YPOS);

            relativeVertex.AppendChild(yPos);
            yPos.AppendChild(document.CreateTextNode(pVertex.GetY().ToString()));

            if (vertexStyle.GetIcon() != null)
            {
                var icon = document.CreateElement(ICON);
                relativeVertex.AppendChild(icon);
                icon.AppendChild(document.CreateTextNode(vertexStyle.GetIcon().ToString()));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Remove a RealtivVertex. Connected edges will be removed to
        /// </summary>
        /// <param name="pGVSVertex"></param>
        public void Remove(GVSRelativeVertex pGVSVertex)
        {
            var toRemove = new ArrayList();

            foreach (var edge in gvsGraphEdges)
            {
                var interfaces = edge.GetType().GetInterfaces();
                foreach (var theInterface in interfaces)
                {
                    if (theInterface.FullName == typeof(GVSDirectedEdge).FullName)
                    {
                        var de = (GVSDirectedEdge)edge;
                        if (pGVSVertex == de.GetGvsEndVertex())
                        {
                            toRemove.Add(de);
                        }
                        if (pGVSVertex == de.GetGvsStartVertex())
                        {
                            toRemove.Add(de);
                        }
                    }
                    else if (theInterface.FullName == typeof(GVSUndirectedEdge).FullName)
                    {
                        var ue       = (GVSUndirectedEdge)edge;
                        var vertizes = ue.GetGvsVertizes();
                        foreach (var gvsVertex in vertizes)
                        {
                            if (gvsVertex == pGVSVertex)
                            {
                                toRemove.Add(ue);
                            }
                        }
                    }
                }
            }
            foreach (GVSGraphEdge edgeToRemove in toRemove)
            {
                this.gvsGraphEdges.Remove(edgeToRemove);
            }
            this.gvsGraphVertizes.Remove(pGVSVertex);
        }
Ejemplo n.º 3
0
 /// <summary>
 ///	  Add a RealtivVertex
 /// </summary>
 /// <param name="pGVSVertex"></param>
 public void Add(GVSRelativeVertex pGVSVertex)
 {
     this.gvsGraphVertizes.Add(pGVSVertex);
 }