**Table of Contents**

This chapter presents first steps to using the yFiles for Silverlight algorithms graph structure and outlines general programming aspects. It explains technical consequences of some of the concepts in more detail. Also, it introduces well-known graph analyzing algorithms indispensable to the serious graph worker.

Class Graph^{}
offers three constructors, one to create an empty graph, i.e., one
where node and edge set are empty, the other two to create new instances which
are either partial or complete copies of an already existing graph.

// Create a new, empty graph. Graph graph = new Graph(); // Create a complete copy of 'graph'. Graph graphCopy = new Graph(graph);

It is also possible to ask an instance of type Graph to create a complete copy of itself or to create a new empty graph instance.

When populating an existing graph with graph elements, it is important to observe certain preconditions:

- Only class Graph provides methods to create nodes and edges.
- To create an edge in a graph G it is necessary that both its source node and its target node already exist in G.

// 'graph' is of type yWorks.yFiles.Algorithms.Graph. // Create 10 nodes. Node[] n = new Node[10]; for (int i = 0; i < 10; i++) { n[i] = graph.CreateNode(); } // Create 5 edges. Each edge has "even" source node and "odd" target node. Edge[] e = new Edge[5]; for (int i = 0, j = 0; i < 10; i += 2, j++) { e[j] = graph.CreateEdge(n[i], n[i + 1]); }

Note that the code snippets presented in the course of this document serve as examples to demonstrate how to use the functionality yFiles provides. Although they are all correct, they are not complete and will most likely not compile when copied directly.

Copyright ©2004-2015, yWorks GmbH. All rights reserved. |