rails.algorithms
Class NetworkGraphBuilder

java.lang.Object
  extended by rails.algorithms.NetworkGraphBuilder
All Implemented Interfaces:
java.lang.Iterable<NetworkVertex>

public final class NetworkGraphBuilder
extends java.lang.Object
implements java.lang.Iterable<NetworkVertex>


Field Summary
protected static org.apache.log4j.Logger log
           
 
Method Summary
static NetworkGraphBuilder create(GameManagerI gameManager)
           
 void generateGraph(MapManager mapManager, RevenueManager revenueManager)
           
 org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> getMapGraph()
           
static java.util.List<MapHex> getMapHexes(org.jgrapht.Graph<NetworkVertex,NetworkEdge> graph)
           
static java.util.List<MapHex> getTokenableStationHexes(org.jgrapht.Graph<NetworkVertex,NetworkEdge> graph, PublicCompanyI company)
           
 NetworkVertex getVertex(MapHex hex, int side)
           
 NetworkVertex getVertex(TokenI token)
           
 NetworkVertex getVertexByIdentifier(java.lang.String identVertex)
           
 java.util.Iterator<NetworkVertex> iterator()
           
static org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> optimizeGraph(org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> inGraph)
           
static org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> optimizeGraph(org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> inGraph, java.util.Collection<NetworkVertex> protectedVertices)
           
 void setIteratorStart(MapHex hex, Station station)
           
static void visualize(org.jgrapht.Graph<NetworkVertex,NetworkEdge> graph, java.lang.String title)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.apache.log4j.Logger log
Method Detail

create

public static NetworkGraphBuilder create(GameManagerI gameManager)

generateGraph

public void generateGraph(MapManager mapManager,
                          RevenueManager revenueManager)

getMapGraph

public org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> getMapGraph()

setIteratorStart

public void setIteratorStart(MapHex hex,
                             Station station)

iterator

public java.util.Iterator<NetworkVertex> iterator()
Specified by:
iterator in interface java.lang.Iterable<NetworkVertex>

getVertexByIdentifier

public NetworkVertex getVertexByIdentifier(java.lang.String identVertex)

getVertex

public NetworkVertex getVertex(TokenI token)

getVertex

public NetworkVertex getVertex(MapHex hex,
                               int side)

getMapHexes

public static java.util.List<MapHex> getMapHexes(org.jgrapht.Graph<NetworkVertex,NetworkEdge> graph)

getTokenableStationHexes

public static java.util.List<MapHex> getTokenableStationHexes(org.jgrapht.Graph<NetworkVertex,NetworkEdge> graph,
                                                              PublicCompanyI company)

optimizeGraph

public static org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> optimizeGraph(org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> inGraph)

optimizeGraph

public static org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> optimizeGraph(org.jgrapht.graph.SimpleGraph<NetworkVertex,NetworkEdge> inGraph,
                                                                                     java.util.Collection<NetworkVertex> protectedVertices)

visualize

public static void visualize(org.jgrapht.Graph<NetworkVertex,NetworkEdge> graph,
                             java.lang.String title)