rails.algorithms
Class NetworkGraphBuilder
java.lang.Object
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 |
log
protected static org.apache.log4j.Logger log
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)