Interface VirtualNetwork

  • All Known Implementing Classes:
    VirtualNetworkImpl

    public interface VirtualNetwork
    Model free virtual network interface which is part of the zoning and holds all the virtual infrastructure connecting the zones to the physical road network.
    Author:
    markr
    • Field Detail

      • LOGGER

        static final Logger LOGGER
    • Method Detail

      • getConnectoidSegments

        ConnectoidSegments getConnectoidSegments()
        Access to connectoid segments
        Returns:
        connectoidSegments
      • getConnectoidEdges

        ConnectoidEdges getConnectoidEdges()
        Access to connectoid edges
        Returns:
        connectoidEdges
      • getCentroidVertices

        CentroidVertices getCentroidVertices()
        Access each centroid's vertex
        Returns:
        connectoidEdges
      • clear

        void clear()
        free up memory by clearing contents for garbage collection
      • reset

        void reset()
        identical clear() only now all underlying managed ids are also reset
      • createConjugate

        ConjugateVirtualNetwork createConjugate​(IdGroupingToken idToken)
        Create a conjugate version of this virtual network, also known as the edge-to-vertex-dual representation, where all connectoidedges/edge segments become (dangling) conjugate vertices.

        It is recommended to first create the conjugate of this virtual network BEFORE creating conjugates of network layers. The latter takes a conjugate zoning as input such that it can connect the conjugate virtual nodes to the conjugate network layer where appropriate, otherwise these connections are ignored

        Parameters:
        idToken - to use for conjugate entity creation
        Returns:
        conjugate version of this virtual network's edges/edgesgments
      • shallowClone

        VirtualNetwork shallowClone()
        Perform shallow clone
        Returns:
        shallow copy
      • deepClone

        VirtualNetwork deepClone()
        Perform deep clone
        Returns:
        deep copy
      • deepCloneWithMapping

        VirtualNetwork deepCloneWithMapping​(GraphEntityDeepCopyMapper<ConnectoidEdge> connectoidEdgeMapper,
                                            GraphEntityDeepCopyMapper<ConnectoidSegment> connectoidSegmentMapper,
                                            GraphEntityDeepCopyMapper<CentroidVertex> centroidVertexMapper)
        Perform a deep clone where mappings between original and copy are captured in the two provided mappers
        Parameters:
        connectoidEdgeMapper - to use for tracking mapping between original and copied entity (may be null)
        connectoidSegmentMapper - to use for tracking mapping between original and copied entity (may be null)
        centroidVertexMapper - to use for tracking mapping between original and copied entity (may be null)
        Returns:
        deep copy
      • isEmpty

        default boolean isEmpty()
        Verify if entire network is empty
        Returns:
        true if network is empty, false otherwise
      • hasConnectoidEdges

        default boolean hasConnectoidEdges()
        Verify if entire connectoid edges are empty
        Returns:
        true if empty, false otherwise
      • hasConnectoidSegments

        default boolean hasConnectoidSegments()
        Verify if entire connectoid segments are empty
        Returns:
        true if empty, false otherwise