GuidedTransporterCIfc

Controlled access to a transporter on a guide path: what a modeller sets, where it is, and what its time was spent on.

The free-path counterpart is ksl.modeling.spatial.MoveableResourceCIfc, and this is deliberately its shape: a transporter is a ksl.modeling.entity.Resource, so the capacity, the queueing and the utilization arrive through ResourceCIfc, and what is added here is the part that is about travelling a guide path.

What is not here is the engine's own bookkeeping -- which zone is claimed, which link is awaited, the route in progress, the direction of travel. Those are readable on GuidedTransporter itself, because a model that wants to watch a vehicle or write its own dispatching rule needs them, but they are not part of the contract a study or a report holds a transporter by, and nothing outside the library may write them.

Inheritors

Properties

Link copied to clipboard

Loads aboard as a fraction of capacity, registered only for a multi-load transporter.

Link copied to clipboard

How far it has travelled, in the network's units.

Link copied to clipboard

Fraction of time full, registered only for a multi-load transporter.

Link copied to clipboard

Fraction of time stopped by space it could not have, which no free-path model can report.

Link copied to clipboard

Fraction of time travelling, loaded or empty.

Link copied to clipboard

Fraction of time travelling empty, which is what a dispatching rule exists to reduce.

Link copied to clipboard

Fraction of time travelling with a load aboard.

Link copied to clipboard
abstract val heldZones: List<Zone>

The zones it is standing on, which is what makes them unavailable to everybody else.

Link copied to clipboard
abstract var homeBase: String?

The station or intersection it returns to when the pool's disposition rule sends it home, or null when it has none. A fleet whose members share a home base contends for it.

Link copied to clipboard

Where the transporter starts each replication.

Link copied to clipboard
abstract val isDispatchable: Boolean

True when it could be sent somewhere now: allocated to nobody, not halted, not under tow. This is the question an allocation rule is really asking, and the one a report about an idle fleet should be over.

Link copied to clipboard
abstract val isMoving: Boolean

True while it is travelling, whether loaded or empty.

Link copied to clipboard
abstract val isOffShift: Boolean

True when a shift schedule has it off duty.

Link copied to clipboard
abstract val isUnderTow: Boolean

True while another transporter is towing it, during which it goes nowhere of its own.

Link copied to clipboard
abstract val lengthInZones: Int

How many whole zones it covers; one unless it was sized in zones.

Link copied to clipboard
abstract val loadCapacity: Int

How many loads it may carry at once, which is not its resource capacity.

Link copied to clipboard

Loads carried per loaded move, registered only for a multi-load transporter.

Link copied to clipboard

The loads aboard, in boarding order.

Link copied to clipboard
abstract val numLoadsAboard: Int

How many loads are aboard.

Link copied to clipboard

Loads aboard over time, registered only for a transporter that may hold more than one.

Link copied to clipboard

How many times it was stopped by space it could not have.

Link copied to clipboard
abstract val physicalLength: Double?

Its length in the network's own units, or null when it was sized in zones instead.

Link copied to clipboard
abstract val spareCapacity: Int

How many more it could take.

Link copied to clipboard

How fast it travels, so a study can vary the speed as an input.

Link copied to clipboard

Whether a velocity is drawn once per move or once per zone.

Link copied to clipboard
abstract val zonesEntered: Int

How many zones it has entered, which is the engine's unit of work.