public class Loop extends Block
Modifier and Type | Field and Description |
---|---|
java.util.ArrayList<LoopTrainScheduleData> |
loopTrainScheduleDataList |
java.lang.String |
stationName |
int |
whetherMainLine
whetherMainLine
|
blockNo, direction, downLinks, minimumBlockLength, speedRestrictionList, upLinks
endMilePost, maximumPossibleSpeed, startMilePost
BLOCK_ENTITY, LINK_ENTITY, LOOP_ENTITY
Constructor and Description |
---|
Loop() |
Loop(double startMilePost,
double endMilePost) |
Loop(java.io.StreamTokenizer st,
boolean isWarner) |
Modifier and Type | Method and Description |
---|---|
void |
forwardLoopTrainScheduleDataList() |
int |
getCrossMainLine() |
Train |
getLoopNextTrainToBeScheduled() |
java.lang.String |
getLoopType() |
double |
getLoopVelocity() |
Loop |
getNextReferenceLoop(java.util.ArrayList<ReferenceTableEntry> referenceTables)
Get the loop number of the next reference entry of a scheduled train.
|
double |
getNextTrainToBeScheduledDepartureTime() |
java.lang.String |
getPlatformName() |
Station |
getStation() |
java.lang.String |
getStationName() |
int |
getWhetherMainLine() |
static int |
getWhetherMainLineFromType(java.lang.String loopType) |
boolean |
hasError() |
int |
inWhichInterval(double time) |
boolean |
isLocked() |
void |
lock(double lockTime,
int trainNo) |
void |
setCrossMainLine(int crossMainLine) |
void |
setDirectEndMilePost(double endMilePost) |
void |
setEndMilePost(double endMilePost) |
void |
setLoopType(java.lang.String loopType) |
void |
setPlatformName(java.lang.String platformName) |
void |
setStation(Station station) |
void |
setWhetherMainLine(int whetherMainLine) |
StatusTraverseBlock |
traverseBlock(Train currTrain,
double arrivalTime,
double deptTime,
double startVelocity,
Link previousLink,
Link nextFastestLink,
double profileStartingMilePost,
SimulationInstance simulationInstance,
int nextReferenceLoopNumber)
Loop: StatusTraverseBlock traverseBlock((Train currTrain, double
arrivalTime, double deptTime, double startVelocity) 1) creates an
instance of the blockScheduler for this loop as the currentBlock and the
currTrain 2) goes to blockScheduler.traverseBlock(arrivalTime, deptTime,
startVelocity) (non-Javadoc)
|
void |
undoLoopTrainScheduleDataList() |
void |
unlock() |
boolean |
waitingPermitted()
(non-Javadoc)
|
addTinyBlocksToEmptyBlock, allowsTrain, calculateWarnerVelocityProfile, checkLastBlock, getBlockDirectionInInterval, getBlockName, getBlockNo, getBlockSignal, getDepartureTimeFromTrainNo, getEarliestArrivalTime, getEarliestArrivalTime, getEmptyBlockWithTinyBlocksAdded, getEndMilePost, getGradientList, getGradientsString, getHasPathToBlockMap, getLastIntervalByTrain, getLinkCrossoversString, getLinkLengthsString, getLinkListString, getLinkPrioritiesString, getLogger, getMilePostsByNextLink, getMilePostsByPreviousLink, getNextBlock, getNextBlockByDirection, getNextLink, getNextLinks, getNextLinks, getNightsfsr, getNonOverlappingRunTimeReturn, getNonOverlappingRunTimeSignal, getOccupancyTimeByTrain, getOnlyActualOccupancies, getOverlapDistance, getOverlappingRunTimeReturn, getPath, getPreviousLinks, getRunTimeVelocity, getSfsr, getSignal, getSignalFailFlag, getSignalFailure, getSpeedLimitEndMilePostsString, getSpeedLimitsString, getSpeedLimitStartMilePostsString, getSpeedRestrictionList, getSpeedRestrictionsString, getStartMilePost, getTrainNoFromOccupancy, getVelocityProfileArray, hasPath, hasPathTo, isDirectionOk, isFree, isLoop, isSignalFailed, isSignalRed, isWarner, printOccupancies, readCommonBlockLoopProperties, readSpeedRes, reserve, returnGradientFormat, returnMaxSpeedBetweenMilePosts, setBlockDirectionInInterval, setBlockName, setBlockNo, setBlockSignal, setEndMilePost, setEndMilePostDirectly, setGradientList, setLogger, setNextLinks, setNightsfsr, setPreviousLinks, setSfsr, setSignalFailFlag, setSignalFailure, setSpeedRestrictionList, setStartMilePost, setWarner, splitBlock, splitProfileForWarnerDistance, whenFree
getDirection, getEndMilePost, getLength, getMaximumPossibleSpeed, getOccupanciesToDisplay, getOccupy, getStartMilePost, getTinyBlockList, isFree, isFree, setDirection, setLength, setMaximumPossibleSpeed, setOccupied, setOccupied, setOccupy, setStartMilePost, setTinyBlockList
getEntityType, isBlock, isLink, setEntityType
public java.util.ArrayList<LoopTrainScheduleData> loopTrainScheduleDataList
public int whetherMainLine
public java.lang.String stationName
public Loop()
public Loop(double startMilePost, double endMilePost)
public Loop(java.io.StreamTokenizer st, boolean isWarner)
isWarner
- : warning, which by default is set false.public void setEndMilePost(double endMilePost)
setEndMilePost
in class Block
public void setDirectEndMilePost(double endMilePost)
public double getLoopVelocity()
public void setLoopType(java.lang.String loopType)
public java.lang.String getLoopType()
public Station getStation()
public void setStation(Station station)
public int inWhichInterval(double time)
time
- (unit ?)public boolean waitingPermitted()
waitingPermitted
in class Block
Block.waitingPermitted()
public StatusTraverseBlock traverseBlock(Train currTrain, double arrivalTime, double deptTime, double startVelocity, Link previousLink, Link nextFastestLink, double profileStartingMilePost, SimulationInstance simulationInstance, int nextReferenceLoopNumber)
traverseBlock
in class Block
StatusTraverseBlock
Block#traverseBlock(Train, double, double, double)
public Loop getNextReferenceLoop(java.util.ArrayList<ReferenceTableEntry> referenceTables)
referenceTables
- public int getCrossMainLine()
public void setCrossMainLine(int crossMainLine)
public int getWhetherMainLine()
public void setWhetherMainLine(int whetherMainLine)
public java.lang.String getStationName()
public java.lang.String getPlatformName()
public void setPlatformName(java.lang.String platformName)
public boolean isLocked()
public void unlock()
public void lock(double lockTime, int trainNo)
public void forwardLoopTrainScheduleDataList()
public void undoLoopTrainScheduleDataList()
public Train getLoopNextTrainToBeScheduled()
public double getNextTrainToBeScheduledDepartureTime()
public static int getWhetherMainLineFromType(java.lang.String loopType)