Class ConnectoidSegmentImpl

  • All Implemented Interfaces:
    Serializable, Comparable<EdgeSegment>, EdgeSegment, ConnectoidSegment

    public class ConnectoidSegmentImpl
    extends EdgeSegmentImpl
    implements ConnectoidSegment
    The link segment that connects a zone to the physical network is not a physical link segment. However in order to be able to efficiently conduct path searches this connection needs to materialise in a similar form. to do this we construct ConnectoidLinkSegment instances which are a link segment, but do not have any physical characteristics apart from connecting a zone (via its centroid) to a physical node. these segments are NOT registered on the network because they are not part of the physical network, instead they are registered on the adopted zoning. they are however injected/connected to the connectoid reference nodes in the network as link segments to provide the above mentioned interface
    Author:
    markr
    See Also:
    Serialized Form
    • Field Detail

      • connectoidSegmentId

        protected final int connectoidSegmentId
        unique internal identifier
    • Constructor Detail

      • ConnectoidSegmentImpl

        public ConnectoidSegmentImpl​(IdGroupingToken groupId,
                                     Connectoid parentConnectoid,
                                     boolean directionAb)
        Constructor
        Parameters:
        groupId - contiguous id generation within this group for instances of this class
        parentConnectoid - parent connectoid
        directionAb - direction of travel
    • Method Detail

      • generateConnectoidSegmentId

        protected static int generateConnectoidSegmentId​(IdGroupingToken groupId)
        generate unique connectoid segment id
        Parameters:
        groupId - contiguous id generation within this group for instances of this class
        Returns:
        linkSegmentId