TransportDirectedEdge (Class)
Namespace: Wrld.Transport
Represents an edge connecting two ordered nodes on a transport network directed graph.
The direction of traversal is from NodeIdA to NodeIdB. It references a TransportWay object by id, which provides geometry and other attributes associated with the edge.
A TransportDirectedEdge instance is present in the graph for each permissible traversal direction of a TransportWay:
For a uni-directional TransportWay, a single TransportDirectedEdge is present (in the direction of allowed travel).
For a bi-directional TransportWay, two TransportDirectedEdge are present, one for each traversal direction.
Transport graphs are streamed as tiled cells. Where a way crosses a cell boundary, the way is cut, and a pair of boundary nodes inserted at the intersection point, one in each of the adjacent cells. Each boundary node has a ‘link’ TransportDirectedEdge object added to its IncidentDirectedEdges list, referencing that node as NodeIdA. NodeIdB is set to an empty-value, indicating that this references a node in a cell that has not yet streamed in. As cells stream in, the graph connectivity is re-formed by fixing up NodeIdB to a valid node id. These ‘link’ directed edge instances have an empty-value WayId, and are of zero length.
Methods
TransportDirectedEdge MakeEmpty ()
Static factory method to create an empty-value TransportDirectedEdge instance.
Returns: The new empty-value object.
Properties
TransportDirectedEdgeId Id
A unique identifier for the TransportDirectedEdge.
TransportDirectedEdgeId Id { get; private set; }
TransportNodeId NodeIdA
The id of the TransportNode at the start of this TransportDirectedEdge. Use TransportApi.TryGetNode to access the corresponding TransportNode value.
TransportNodeId NodeIdA { get; private set; }
TransportNodeId NodeIdB
The id of the TransportNode at the end of this TransportDirectedEdge. Use TransportApi.TryGetNode to access the corresponding TransportNode value.
For ‘link’ directed edges at cell boundaries, this may have an empty value, indicating that the end of the edge is in a cell that has not yet streamed in.
TransportNodeId NodeIdB { get; private set; }
TransportWayId WayId
The id of the TransportWay associated with this TransportDirectedEdge. Use TransportApi.TryGetWay to access the corresponding TransportWay value. For ‘link’ directed edges at cell boundaries, this has an empty value.
TransportWayId WayId { get; private set; }
bool IsWayReversed
If true, this TransportDirectedEdge represents a traversal of the assoiciated TransportWay in the reverse direction, i.e. starting at the last element and ending at the first element of TransportWay.CenterLinePoints.
bool IsWayReversed { get; private set; }