Intersection

A named point where links meet: the unit of addressing and of routing, and a location in this spatial model.

An intersection carries two roles at once. It is a place, which is what a route is planned between and what a station attaches to; and it is space, which is what a transporter must hold to pass through. The two are kept apart deliberately -- the place is this object, the space is its zone -- so that nothing in the routing layer is able to claim or release anything.

Properties

Link copied to clipboard

The names by which process code may also address this intersection.

Link copied to clipboard

Links a transporter may arrive here on.

Link copied to clipboard

Every link that meets here, in declaration order.

Link copied to clipboard

True when exactly one link meets here and that link is a spur: a dead end.

Link copied to clipboard
Link copied to clipboard

Links a transporter may traverse away from here.

Link copied to clipboard
open override val spatialModel: SpatialModel
Link copied to clipboard
Link copied to clipboard
open override var x: Double

Layout coordinates. Given by the modeller, or, when no intersection of the network has any, laid out from the link lengths when the network is built. They affect nothing but drawing.

Link copied to clipboard
open override var y: Double

The Cartesian y-coordinate of this location; see x. Defaults to Double.NaN.

Link copied to clipboard
open override var z: Double

The Cartesian z-coordinate of this location; defaults to 0.0 (2D). Three- dimensional spatial models override it. See x.

Link copied to clipboard

The space of this junction, held by one transporter at a time.

Functions

Link copied to clipboard
open override fun toString(): String