TrainEnter


Помещает поступающую в объект заявку-поезд на заданный путь указанной железнодорожной сети и вставляет заявку типа Train в диаграмму процесса поезда. Новый поезд помещается на путь, и Вы должны убедиться, что на этом пути есть свободное место для всех вагонов (при создании поезд должен полностью находиться на одном пути). Вам нужно задать, где будет помещен поезд (точка раcположения его первого вагона задается как расстояние от начала пути), а также направление поезда относительно пути. 

Обычно используется в связке с объектом TrainExit для моделирования каких-то процессов (например, части движения поезда) на более высоком уровне абстракции, а не на детальном, физическом уровне. 

Вот лишь два варианта использования связки объектов TrainEnter - TrainExit:

Пример модели: Train Exits One and Enters Another Rail Yard

Параметры класса

Класс поезда
Класс поездов, поступающих в этот объект. Он должен быть унаследован от класса Train, который, в свою очередь, унаследован от Entity. Если через объект проходят поезда какого-то определенного класса, то рекомендуем Вам указать его здесь, чтобы иметь возможность напрямую обращаться к собственным полям этого класса в динамических параметрах, таких, как Действие при выходе
Синтаксис:  T extends Train
Значение по умолчанию: Train
Класс вагона
Класс вагонов, создаваемых этим объектом. Он должен быть унаследован от класса RailCar (обратите внимание, что класс RailCar НЕ является подклассом класса Entity), и поэтому, в отличие от поездов, не может обрабатываться блоками диаграммы процесса). Если Вы создаете вагоны какого-то своего класса, то рекомендуем Вам указать его здесь, чтобы иметь возможность напрямую обращаться к собственным полям этого класса в динамических параметрах, таких, как Действие при выходе. Также в этом случае Вам будет нужно вызвать конструктор этого класса в поле параметра Новый вагон.
Синтаксис:  RC extends RailCar
Значение по умолчанию: RailCar

Порты

InPort in

Входной порт.

OutPortPush out

Выходной порт.

Параметры

Объект RailYard

Здесь нужно указать имя объекта типа RailYard, задающего конфигурацию ж/д узла, на котором будут появляться новые поезда.
СинтаксисRailYard railYard

Путь (ломаная) [динамический]  
Ломаная, задающая путь, куда будет помещен созданный поезд (все вагоны при этом должны полностью находиться на этом пути).
Синтаксис: ShapePolyLine track
Значение по умолчанию: null
Смещение первого вагона, м. [динамический]
Расстояние от начальной точки пути до переднего торца первого вагона поезда. Если Вам удобнее измерять смещение от конечной точки пути, то Вы можете использовать локальную переменную tracklength.
Синтаксис: double offset
Значение по умолчанию: tracklength - 10
Локальная переменная: double tracklength – длина пути
Направление на пути
Задает, как направлен поезд относительно направления пути:
Вперед (первый вагон ближе к концу пути) – поезд направлен так же, как и путь
Назад (первый вагон ближе к началу пути) – поезд направлен в противоположную сторону
Синтаксис: boolean orientation
Значение по умолчанию: Вперед (первый вагон ближе к концу пути) - true
Действие при выходе [динамический]
Здесь Вы можете задать код, который будет выполняться в тот момент, когда поезд будет покидать этот объект.
Синтаксис: void onExit
Локальная переменная: T train – поезд

Функции

int count() - Возвращает количество поездов, покинувших объект.