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 val x: Double

The Cartesian x-coordinate of this location, used by the animation system and any coordinate-based rendering. Defaults to Double.NaN for non-Cartesian spatial models (distance-, network-, or great-circle-based) that have no planar coordinate; Cartesian location types (e.g. Euclidean2DPlane.Point) override it.

Link copied to clipboard
open override val y: Double

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

Link copied to clipboard
open override val 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