01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2002-2006, GeoTools Project Managment Committee (PMC)
05: * (C) 2002, Refractions Reserach Inc.
06: *
07: * This library is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU Lesser General Public
09: * License as published by the Free Software Foundation;
10: * version 2.1 of the License.
11: *
12: * This library is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: */
17: package org.geotools.graph.structure;
18:
19: /**
20: * Represents a directed graph.
21: *
22: * In a directed graph, components have an explicit direction associated with
23: * them. <BR/>
24: * <BR/>
25: * Directed nodes differentiate between those
26: * adjacent edges that originate at them (outgoing edges ) and those that
27: * terminate at them (incoming edges).<BR/>
28: * <BR/>
29: * Directed edges differentiate between the node at the
30: * the source of the edge (source node) and the node at the destination of the
31: * edges (destination node).<BR/>
32: * <BR/>
33: * The following is a figure of an undirected graph, and one of the possible
34: * directed graphs that can be derived from it. Directionality is indicated
35: * by arrow heads on the edges of the graph.<BR/>
36: * <BR/>
37: * <IMG src="doc-files/undirected2directed.gif"><BR/>
38: * <BR/>
39: * The following information summarizes the relationships in the directed
40: * version of the graph.<BR/>
41: * <BR/>
42: * <TABLE border="1">
43: * <TH>Edge</TH>
44: * <TH>Source Node</TH>
45: * <TH>Destination Node</TH>
46: * <TR align="center"><TD>A</TD><TD>1</TD><TD>4</TD></TR>
47: * <TR align="center"><TD>B</TD><TD>2</TD><TD>4</TD></TR>
48: * <TR align="center"><TD>C</TD><TD>3</TD><TD>4</TD></TR>
49: * <TR align="center"><TD>D</TD><TD>4</TD><TD>5</TD></TR>
50: * <TR align="center"><TD>E</TD><TD>4</TD><TD>7</TD></TR>
51: * <TR align="center"><TD>F</TD><TD>4</TD><TD>6</TD></TR>
52: * <TR align="center"><TD>G</TD><TD>5</TD><TD>7</TD></TR>
53: * <TR align="center"><TD>H</TD><TD>6</TD><TD>7</TD></TR>
54: * </TABLE><BR/>
55: * <BR/>
56: * <TABLE border="1">
57: * <TH>Node</TH>
58: * <TH>In Edges</TH>
59: * <TH>Out Edges</TH>
60: * <TR align="center"><TD>1</TD><TD> </TD><TD>A</TD></TR>
61: * <TR align="center"><TD>2</TD><TD> </TD><TD>B</TD></TR>
62: * <TR align="center"><TD>3</TD><TD> </TD><TD>C</TD></TR>
63: * <TR align="center"><TD>4</TD><TD>A,B,C</TD><TD>D,E,F</TD></TR>
64: * <TR align="center"><TD>5</TD><TD>D</TD><TD>G</TD></TR>
65: * <TR align="center"><TD>6</TD><TD>F</TD><TD>F</TD></TR>
66: * <TR align="center"><TD>7</TD><TD>E,G,H</TD><TD> </TD></TR>
67: * </TABLE>
68: *
69: * @see DirectedNode
70: * @see DirectedEdge
71: *
72: * @author Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net
73: *
74: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/extension/graph/src/main/java/org/geotools/graph/structure/DirectedGraph.java $
75: */
76: public interface DirectedGraph extends Graph {
77:
78: }
|