Custom Vertices - visualization

Feb 6, 2014 at 1:24 AM
Hi,

is there a documentation on how to adapt the xaml file in order to visualize a non standard graph? My particular example is the following graph:
    public class DDNAGraph : BidirectionalGraph<DDNAVertex, DDNAEdge>
    {
        public DDNAGraph() { }

        public DDNAGraph(bool allowParallelEdges)
            : base(allowParallelEdges) { }

        public DDNAGraph(bool allowParallelEdges, int vertexCapacity)
            : base(allowParallelEdges, vertexCapacity) { }

    }
    public class DDNAGraphLayout : GraphLayout<DDNAVertex, DDNAEdge, DDNAGraph> { }
    public class DDNAEdge : Edge<DDNAVertex>
    {
        public DDNAEdge(DDNAVertex source, DDNAVertex target)
            : base(source, target)
        {
        }
    }

    public class DDNAVertex
    {
        public string ID { get; set; }
        public bool exists { get; set; }

        public DDNAVertex(string id, bool Fexists)
        {
            ID = id;
            exists = Fexists;
        }

        public override string ToString()
        {
            return string.Format("{0}-{1}", ID, exists);
        }
    }
It is a graph of documents showing paths of copy pasted content in between them. The long term goal is to allow to user to click on any of the vertices and open up the related document. The ID attribute of the vertices is the path of the represented document.
Feb 6, 2014 at 8:23 AM
Hi, unfortunately Graph# has no documentation and all you can do is to examine the example app in the source files. Though i can help a bit on that matter may i advice you to look at my GraphX library? It is based on Graph# logic.

http://panthernet.ru/en/projects-en/graphx-en
Feb 6, 2014 at 8:30 AM
Hi Panthernet, thanks for the quick reply!
How much of my current code would need changing if I would swap libraries?
Also, is GraphX able to display a directed graph such as the target node is always put in a lower position then the starting node?

Thanks for your help!
Feb 6, 2014 at 11:01 AM
Well, it's quite difficult to judge right now how much code will need to be changed because of modifications that has been made already. The general logic is the same though, you can look at the example projects that are included in the sources and the documentation page on my site.