Class Router

All Implemented Interfaces:

public class Router
extends TrainCommon
implements InstanceManagerAutoDefault
Router for car movement. This code attempts to find a way (a route) to move a car to its final destination through the use of two or more trains. First the code tries to move car using a single train. If that fails, attempts are made using two trains via a classification/interchange (C/I) tracks, then yard tracks if enabled. Next attempts are made using three or more trains using any combination of C/I and yard tracks. If that fails and routing via staging is enabled, the code tries two trains using staging tracks, then multiple trains using a combination of C/I, yards, and staging tracks. Currently the router is limited to six trains.