Блок RailSettings предоставляет низкоуровневый интерфейс для управления железнодорожным узлом, основанный на функциях Java и механизме обратных вызовов. Это обеспечивает совместимость ранее разработанных моделей с новой версией библиотеки, но вы можете использовать механизм обратных вызовов и для других целей, например, для сбора статистики по движению вагона по всему ж/д узлу.
Обратите внимание, что объект RailSettings не будет автоматически отслеживать пересечение нарисованных вами путей (т.e. мест, в которых пути пересекают друг друга без наличия стрелки), и предотвращать столкновения поездов в таких местах придется вам самим. Столкновения же поездов на стрелках будут определяться автоматически, и в таких случаях будут показываться сообщения об ошибках.
int getNCars() - Возвращает количество вагонов, находящихся на этом железнодорожном узле.
Agent getCar( int index ) - Возвращает вагон, находящийся на этом железнодорожном узле и имеющий заданный индекс index. Если такого вагона нет, то возвращает null.
List <Agent> getCars( ) - Возвращает вагоны, находящиеся на этом железнодорожном узле.
RailwayTrack[]
getShortestPath( RailwayTrack sourceTrack, RailwayTrack targetTrack, boolean forwardOnTrack, double targetOffset, RailwayTrack[] avoidTracks ) - Возвращает кратчайший маршрут от sourceTrack
до targetTrack
(или null, если путь не найден).
Параметры: sourceTrack
- начальный путь
targetTrack
- путь назначения
forwardOnTrack
- если true,
то направление поезда на пути - вперед
targetOffset
- смещение по пути направления
avoidTracks
- список путей, которые не должен содержать маршрут
RailwayTrack[]
getShortestUnblockedPath( RailwayTrack sourceTrack, RailwayTrack targetTrack, boolean forwardOnTrack, double
targetOffset, RailwayTrack[] avoidTracks
) - Возвращает кратчайший маршрут от sourceTrack
до targetTrack
(или null, если путь не найден) с учетом заблокированных путей.
Параметры: sourceTrack - начальный путь
targetTrack - путь назначения
forwardOnTrack
- если true,
то направление поезда на пути - вперед
targetOffset
- смещение по пути направления
avoidTracks
- список путей, которые не должен содержать маршрут
RailwayTrack[]
getShortestAvailablePath( Agent train, RailwayTrack sourceTrack, RailwayTrack targetTrack, boolean forwardOnTrack, double
targetOffset, RailwayTrack[] avoidTracks
) - Возвращает кратчайший маршрут от sourceTrack
до targetTrack
(или null, если путь не найден) с учетом заблокированных и зарезервированных путей.
Параметры: train - поезд, для которого необходимо найти кратчайший маршрут
sourceTrack - начальный путь
targetTrack - путь направления
forwardOnTrack
- если true,
то направление поезда на пути - вперед
targetOffset
- смещение по пути направления
avoidTracks - список путей, которые не должен содержать маршрут
Switch[]
getRouteSwitches( RailwayTrack[]
route )
-
Возвращает все стрелки на указанные маршруте.
void addCar( RC car, RailwayTrack track, double frontoffset, boolean orientation ) - [Устарела, начиная с версии AnyLogic 6.5.1. Создавайте поезда и вагоны с помощью объекта TrainSource] Добавляет (ранее созданный) вагон в ж/д модель и помещает его на заданный путь (в заданную точку, с заданным направлением). Обе стороны вагона должны находиться на одном и том же пути. Если вагон пересекает другой вагон, находящийся на пути, то выдается сообщение об ошибке.
Параметры: car
- добавляемый вагон
track
- путь, на который помещается вагон
frontoffset
- смещение переднего торца вагона от начала пути
orientation
- если true,
то направление вагона (от конца к началу) будет
соответствовать направлению пути (от начала к концу)
void
addTrain( int n, RailwayTrack track,
double
frontoffset, boolean orientation)
- [Устарела,
начиная с версии AnyLogic 6.5.1. Создавайте поезда и
вагоны с помощью объекта TrainSource]
Создает
состав с заданным количеством
вагонов и помещает его на заданный путь в заданную точку с заданным
направлением. Для создания вагонов используется модифицированный метод newCar.
Все вагоны должны полностью находиться на одном и том же пути. Если
поезд пересекает другие вагоны, находящиеся на пути, то выдается
сообщение об ошибке.
Параметры: n - количество
вагонов в
поезде
track - путь, на
который помещается поезд
frontoffset
- смещение переднего торца первого вагона от начала пути
orientation
- если true, то
направление поезда (от хвоста к голове) будет соответствовать
направлению пути (от начала к концу)