Функции транспортера

Транспортеры, используемые в диаграмме процессов, составленной из блоков Библиотеки производственных систем, предоставляют следующие функции:

TransporterFleet getFleet() - Возвращает блок TransporterFleet, которому принадлежит этот транспортер.

ILocation getCurrentLocation() - Возвращает текущее местоположение транспортера. 

Статистика использования

TransporterState getState() - Возвращает текущее состояние транспортера.
Допустимые значения: TransporterState.DELIVERING - транспортер перемещает материальный объект;
                                   TransporterState.GOING_TO_AGENT - транспортер двигается к агенту;
                                   TransporterState.GOING_HOME - транспортер возвращается в исходное местоположение;
                                   TransporterState.IDLE - транспортер не занят;
                                   TransporterState.PROCESSING - транспортер взаимодействует с агентом (материальным объектом), например, в ходе загрузки или разгрузки.

double timeInState(TransporterState state, TimeUnits units) - Возвращает время, которое транспортер провел в указанном состоянии на данный момент (в заданных единицах времени).
Параметрыstate - состояние транспортера;
                     units - константа, задающая единицу измерения времени.

double timeInState(TransporterState state) - Возвращает время, которое транспортер провел в указанном состоянии на данный момент.
Параметр: units - константа, задающая единицу измерения времени.

Скорость

double getMaximumSpeed(SpeedUnits units) - Возвращает значение максимально допустимой скорости транспортера.
Параметрunits - константа, задающая единицу измерения скорости.

void setMaximumSpeed(double speed, SpeedUnits units) - Задает новое значение максимально допустимой скорости транспортера.
Параметрыspeed - новое значение максимально допустимой скорости;
                     units - константа, задающая единицу измерения скорости.

double getMaximumSpeedOnCurvedSegments(SpeedUnits units) - Возвращает максимальную допустимую скорость движения транспортера на изогнутых сегментах сети.
Параметрunits - константа, задающая единицу измерения скорости.

void setMaximumSpeedOnCurvedSegments(double speed, SpeedUnits units)- Задает новую максимальную допустимую скорость движения транспортера на изогнутых сегментах сети. Если значение данного параметра выше, чем значение максимально допустимой скорости транспортера в целом, транспортер проигнорирует заданное здесь значение и на изогнутых сегментах сети сможет ускориться только до скорости, задаваемой с помощью функции setMaximumSpeed(double speed, SpeedUnits units).
Параметрыspeed - новая максимальная скорость движения транспортера на изогнутых сегментах сети;
                     units - константа, задающая единицу измерения скорости.

Ускорение, замедление

double getAcceleration(AccelerationUnits units) - Возвращает значение ускорения транспортера.
Параметрunits - константа, задающая единицу измерения ускорения.

void setAcceleration(double acceleration, AccelerationUnits units) - Задает новое значение ускорения транспортера.
Параметры: acceleration - новое значение ускорения;
          units
- константа, задающая единицу измерения ускорения.

double getDeceleration(AccelerationUnits units) - Возвращает значение замедления транспортера.
Параметрunits - константа, задающая единицу измерения ускорения.

void setDeceleration(double deceleration, AccelerationUnits units) - Задает новое значение замедления транспортера.
Параметры: deceleration - новое значение замедления;
                     units - константа, задающая единицу измерения ускорения.

Размещение материального объекта

Position getCargoPosition() - Возвращает размещение материального объекта по отношению к центральной точке транспортера (в заданных единицах изменения длины).

void setCargoPosition(double dx, double dy, double dz, LengthUnits units) - Задает размещение материального объекта по отношению к центральной точке транспортера (в заданных единицах измерения длины).
Параметры: dx - расстояние до точки по оси X;
                     dy - расстояние до точки по оси Y;
                     dz - расстояние до точки по оси Z;
                     units - константа, задающая единицу измерения длины.

void setCargoPosition(double dx, double dy, double dz, LengthUnits units, double rotation, double verticalRotation) - Задает размещение материального объекта по отношению к центральной точке транспортера, включая ориентацию объекта по горизонтали и вертикали.
Параметры: dx - расстояние до точки по оси X;
                     dy - расстояние до точки по оси Y;
                     dz - расстояние до точки по оси Z;
                     units - константа, задающая единицу измерения длины.
                     rotation - ориентация объекта по горизонтали;
                     verticalRotation - ориентация объекта по вертикали.

void resetCargoPosition() - Заново задает положение материального объекта в центральной точке транспортера.

Составление маршрута

void recalculateRoute() - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда транспортер уже двигается к заданной цели и на его пути появляется препятствие, которое может ему помешать.

void recalculateRoute(double x, double y, double z) - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда в процессе движения транспортера изменилось место назначения.
Параметры: x - X-координата новой точки назначения транспортера;
                    y - Y-координата новой точки назначения транспортера;
                    z - Z-координата новой точки назначения транспортера.

void recalculateRoute(Level level, double x, double y, double z) - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда в процессе движения транспортера изменилось место назначения.
Параметры: level - уровень, на котором находится новая точка назначения транспортера;
                   x - X-координата новой точки назначения транспортера;
                   y - Y-координата новой точки назначения транспортера;
                   z - Z-координата новой точки назначения транспортера.

void recalculateRoute(Node node) - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда в процессе движения транспортера изменилось место назначения.
Параметр: node - узел, который является новым местом назначения транспортера;

void recalculateRoute(Attractor attractor) - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда в процессе движения транспортера изменилось место назначения.
Параметр: attractor - аттрактор, который является новым местом назначения транспортера.

void recalculateRoute(Path path, double offset, LengthUnits units) - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда в процессе движения транспортера изменилось место назначения.
Параметры: path - путь, на котором расположена новая точка назначения транспортера;
                   offset - расстояние от начальной точки пути до новой точки назначения транспортера;
                   units - константа, задающая единицу измерения длины.

void recalculateRoute(ConveyorPath conveyor, double offset, LengthUnits units) - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда в процессе движения транспортера изменилось место назначения.
Параметры: conveyor - конвейер, на котором расположена новая точка назначения транспортера;
                   offset - расстояние от начальной точки конвейера до новой точки назначения транспортера;
                   units - константа, задающая единицу измерения длины.

void recalculateRoute(PositionOnConveyor positionOnConveyor) - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда в процессе движения транспортера изменилось место назначения.
Параметр: conveyor - точка конвейера, которая является новой точкой назначения конвейера.

void recalculateRoute(ConveyorStation station) - Заново рассчитывает текущий маршрут транспортера. Если до этого вы задали собственный маршрут в блоке TransporterControl, то маршрут будет перерассчитан с учетом заданных вами условий. Эту функцию можно вызывать в том случае, когда в процессе движения транспортера изменилось место назначения.
Параметр: station - станция, которая является новым местом назначения конвейера.

RouteData getRouteData()- Возвращает информацию об оставшемся участке маршрута для данного транспортера (от его текущего местонахождения до места назначения). Информация возвращается в виде списка задач по движению, которые транспортер выполнит по пути к месту назначения. Задачи по движению перечислены последовательно, начиная с текущего местоположения и до места назначения. Каждая задача содержит информацию о пути и тип движения. Допустимые типы движения: PLAIN - движение от точечного узла к пути или движение внутри узла сети; PATH - движение по сетевому пути; PORT - движение между двумя сетевыми портами.

Расчет расстояния

Вы можете рассчитать расстояние от транспортера до указанной точки в пространстве с помощью унаследованного от типа агента API.