Uses of Interface
org.goplanit.utils.graph.directed.EdgeSegment
-
-
Uses of EdgeSegment in org.goplanit.algorithms.shortest
Fields in org.goplanit.algorithms.shortest declared as EdgeSegment Modifier and Type Field Description protected EdgeSegment[]
ShortestPathResultGeneralised. nextEdgeSegmentByVertex
the next edge segment to reach the vertex with the given measured cost (preceding in one-to-all, succeeding in all-to-one)protected EdgeSegment[]
ShortestPathDijkstra. shortestEdgeSegmentOfVertex
Track incoming edge segment that is shortest for each vertex in this arrayFields in org.goplanit.algorithms.shortest with type parameters of type EdgeSegment Modifier and Type Field Description protected Function<DirectedVertex,Iterable<? extends EdgeSegment>>
ShortestPathAcyclicMinMaxGeneralised. getEdgeSegmentsInDirection
depending on configuration this function collects edge segments in entry or exit direction of vertexprotected Function<DirectedVertex,Iterable<? extends EdgeSegment>>
ShortestPathGeneralised. getEdgeSegmentsInDirection
depending on configuration this function collects edge segments in entry or exit direction of vertexprotected Function<EdgeSegment,DirectedVertex>
ShortestPathAcyclicMinMaxGeneralised. getVertexAtExtreme
depending on configuration this function collects vertex at desired edge segment extremityprotected Function<EdgeSegment,DirectedVertex>
ShortestPathGeneralised. getVertexAtExtreme
depending on configuration this function collects vertex at desired edge segment extremityprotected Function<EdgeSegment,DirectedVertex>
ShortestResultGeneralised. getVertexAtExtreme
depending on configuration this function collects vertex at desired edge segment extremityMethods in org.goplanit.algorithms.shortest that return EdgeSegment Modifier and Type Method Description EdgeSegment
MinMaxPathResultImpl. getNextEdgeSegmentForVertex(Vertex vertex)
Find the next edge segment for a given vertex, depending on the underlying search this can be either in upstream or downstream directionEdgeSegment
ShortestPathResult. getNextEdgeSegmentForVertex(Vertex vertex)
Find the next edge segment for a given vertex, depending on the underlying search this can be either in upstream or downstream directionEdgeSegment
ShortestPathResultGeneralised. getNextEdgeSegmentForVertex(Vertex vertex)
Find the next edge segment for a given vertex, depending on the underlying search this can be either in upstream or downstream directionMethods in org.goplanit.algorithms.shortest that return types with arguments of type EdgeSegment Modifier and Type Method Description static Function<DirectedVertex,Iterable<? extends EdgeSegment>>
ShortestPathSearchUtils. getEdgeSegmentsInDirectionLambda(ShortestSearchType shortestPathSearchType)
Based on the search type we collect edge segments (up or downstream) for a given vertex.static Function<DirectedVertex,Iterable<? extends EdgeSegment>>
ShortestPathSearchUtils. getEdgeSegmentsInDirectionLambda(ShortestSearchType shortestPathSearchType, boolean invertDirection)
Based on the search type we collect edge segments (up or downstream) for a given vertex.static Function<DirectedVertex,Iterable<? extends EdgeSegment>>
ShortestPathSearchUtils. getEdgeSegmentsInDirectionLambda(RootedLabelledBush bush)
Based on the bush configuration we collect different edge segments from vertex (entry or exit segments) compatible with a (shortest) path search.static Function<DirectedVertex,Iterable<? extends EdgeSegment>>
ShortestPathSearchUtils. getEdgeSegmentsInDirectionLambda(RootedLabelledBush bush, boolean invertDirection)
Based on the bush configuration we collect different edge segments from vertex (entry or exit segments) compatible with a (shortest) path search.List<EdgeSegment>
ShortestBushResult. getNextEdgeSegmentsForVertex(Vertex vertex)
Find the next edge segment for a given vertex, depending on the underlying search this can be either in upstream or downstream directionList<EdgeSegment>
ShortestBushResultGeneralised. getNextEdgeSegmentsForVertex(Vertex vertex)
Find the next edge segment for a given vertex, depending on the underlying search this can be either in upstream or downstream directionstatic Function<EdgeSegment,DirectedVertex>
ShortestPathSearchUtils. getVertexFromEdgeSegmentLambda(ShortestSearchType shortestPathSearchType)
static Function<EdgeSegment,DirectedVertex>
ShortestPathSearchUtils. getVertexFromEdgeSegmentLambda(ShortestSearchType shortestPathSearchType, boolean invertDirection)
Based on the search type we collect different vertex direction from edge segment (up or downstream) during shortest path search.static Function<EdgeSegment,DirectedVertex>
ShortestPathSearchUtils. getVertexFromEdgeSegmentLambda(RootedLabelledBush bush)
Based on the bush configuration we collect different vertex direction from edge segment (up or downstream) compatible with a (shortest) path search.static Function<EdgeSegment,DirectedVertex>
ShortestPathSearchUtils. getVertexFromEdgeSegmentLambda(RootedLabelledBush bush, boolean invertDirection)
Based on the bush configuration we collect different vertex direction from edge segment (up or downstream) compatible with a (shortest) path search.Methods in org.goplanit.algorithms.shortest with parameters of type EdgeSegment Modifier and Type Method Description protected Double
ConjugateShortestPathGeneralised. getEdgeSegmentCost(EdgeSegment edgeSegment)
For a conjugate network we obtain the conjugate edge segment cost by means of the incoming original edge segment of the turn, i.e., conjugate edge segmentprotected Double
ShortestPathGeneralised. getEdgeSegmentCost(EdgeSegment edgeSegment)
The standard way to collect edge segment costs is by edge segment id from the edge segment cost raw array.DirectedVertex
MinMaxPathResultImpl. getNextVertexForEdgeSegment(EdgeSegment edgeSegment)
DirectedVertex
ShortestResult. getNextVertexForEdgeSegment(EdgeSegment edgeSegment)
Find the next vertex on the given edge segment extremity based on the underlying search this can be either in upstream or downstream directionDirectedVertex
ShortestResultGeneralised. getNextVertexForEdgeSegment(EdgeSegment edgeSegment)
Find the next vertex on the given edge segment extremity based on the underlying search this can be either in upstream or downstream directionMethod parameters in org.goplanit.algorithms.shortest with type arguments of type EdgeSegment Modifier and Type Method Description protected double[]
ShortestPathGeneralised. execute(ShortestSearchType searchType, BiPredicate<Double,Double> verifyVertex, Consumer<EdgeSegment> shortestIncomingEdgeSegmentConsumer)
Generalised shortest-X search where the search type determines to which of the other methods to delegate, oneToAll or AllToOne.protected double[]
ShortestPathGeneralised. executeAllToOne(BiPredicate<Double,Double> verifyVertex, Consumer<EdgeSegment> shortestIncomingEdgeSegmentConsumer)
Generalised all-to-one shortest-X search where the test whether or not an alternative edge segment is shortest is dictated by the provided predicate while the processing of the alternative edge segment when the predicate tests as true is outsourced to the provided consumer.protected double[]
ShortestPathGeneralised. executeOneToAll(BiPredicate<Double,Double> verifyVertex, Consumer<EdgeSegment> shortestIncomingEdgeSegmentConsumer)
Generalised one-to-all shortest-X search where the test whether or not an alternative edge segment is shortest is dictated by the provided predicate while the processing of the alternative edge segment when the predicate tests as true is outsourced to the provided consumer.ShortestPathResult
ShortestPathAStar. executeOneToOne(DirectedVertex origin, DirectedVertex destination, Set<? extends EdgeSegment> bannedSegments)
Construct shortest paths from source node to all other nodes in the network based on directed LinkSegment edges while imposing custom constraints on certain edge segments not being allowed to be usedShortestPathResult
ShortestPathOneToOne. executeOneToOne(DirectedVertex origin, DirectedVertex destination, Set<? extends EdgeSegment> bannedSegments)
Construct shortest paths from source node to all other nodes in the network based on directed LinkSegment edges while imposing custom constraints on certain edge segments not being allowed to be useddefault int
ShortestPathResult. forEachNextEdgeSegment(DirectedVertex startVertex, DirectedVertex endVertex, Consumer<EdgeSegment> nextEdgeSegmentConsumer)
apply consumer to each edge segment on path.protected double[]
ConjugateShortestPathGeneralised. internalExecute(BiPredicate<Double,Double> verifyVertex, Consumer<EdgeSegment> shortestAlternativeEdgeSegmentConsumer)
Generalised shortest-X searchprotected double[]
ShortestPathGeneralised. internalExecute(BiPredicate<Double,Double> verifyVertex, Consumer<EdgeSegment> shortestAlternativeEdgeSegmentConsumer)
Generalised shortest-X searchConstructors in org.goplanit.algorithms.shortest with parameters of type EdgeSegment Constructor Description MinMaxPathResultImpl(double[] minVertexCost, EdgeSegment[] minCostBackwardEdgeSegments, double[] maxVertexCost, EdgeSegment[] maxCostBackwardEdgeSegments)
ConstructorShortestPathResultGeneralised(double[] vertexMeasuredCost, EdgeSegment[] nextEdgeSegmentByVertex, ShortestSearchType searchType)
Constructor only to be used by shortest path algorithms -
Uses of EdgeSegment in org.goplanit.assignment.ltm.sltm
Classes in org.goplanit.assignment.ltm.sltm with type parameters of type EdgeSegment Modifier and Type Class Description class
RootedBush<V extends DirectedVertex,ES extends EdgeSegment>
A rooted bush is an acyclic directed graph comprising of implicit paths along a network.Fields in org.goplanit.assignment.ltm.sltm with type parameters of type EdgeSegment Modifier and Type Field Description protected Map<RootedLabelledBush,Map<EdgeSegment,Pair<Double,Double>>>
PasFlowShiftExecutor. bushEntrySegmentS1S2SendingFlows
Track the desired sending flows for s1 and s2 per bush per entry segmentprotected Map<EdgeSegment,Pair<Double,Double>>
PasFlowShiftExecutor. totalEntrySegmentS1S2Flow
S1 and S2 sending flows along (entire) alternative for a given entry segmentprotected Set<EdgeSegment>
PasFlowShiftExecutor. usedCongestedEntryEdgeSegments
Methods in org.goplanit.assignment.ltm.sltm that return EdgeSegment Modifier and Type Method Description static EdgeSegment[]
PasManager. createSubpathArrayFrom(DirectedVertex closestToSearchRoot, DirectedVertex furthestFromSearchRoot, ShortestPathResult searchResultTree, int arrayLength, boolean truncateArray)
Extract a subpath in the form of a raw edge segment array in downstream direction based on the shortest path result provided.static EdgeSegment[]
PasManager. createSubpathArrayFrom(DirectedVertex closestToSearchRoot, DirectedVertex furthestFromSearchRoot, ShortestSearchType shortestSearchType, Map<DirectedVertex,EdgeSegment> invertedBfSearchResultTree, int arrayLength, boolean truncateArray)
Extract a subpath in the form of a raw edge segment array in downstream direction based on the breadth-first (BF) search result provided.EdgeSegment
RootedLabelledBush. determineIntroduceCycle(EdgeSegment[] alternative)
Verify if adding the sub-path edge segments would introduce a cycle in this bushEdgeSegment[]
Pas. getAlternative(boolean lowCostSegment)
Access to the two alternatives that reflect the PASEdgeSegment
Pas. getFirstEdgeSegment(boolean lowCostSegment)
Collect the first edge segment of one of the two segmentsEdgeSegment
Pas. getLastEdgeSegment(boolean lowCostSegment)
Collect the last edge segment of one of the two segmentsEdgeSegment
Pas. matchFirst(boolean lowCostSegment, Predicate<EdgeSegment> predicate)
Match first link segment of PAS segment to predicate providedMethods in org.goplanit.assignment.ltm.sltm that return types with arguments of type EdgeSegment Modifier and Type Method Description Pair<DirectedVertex,Map<DirectedVertex,EdgeSegment>>
RootedLabelledBush. findBushAlternativeSubpath(DirectedVertex referenceVertex, short[] alternativeSubpathVertexLabels)
The alternative subpath is provided through link segment labels of value -1.Set<EdgeSegment>
PasFlowShiftExecutor. getUsedCongestedEntrySegments()
All used entry Segments that were found to be congested and a flow shift has been applied toMethods in org.goplanit.assignment.ltm.sltm with parameters of type EdgeSegment Modifier and Type Method Description double
BushTurnData. addTurnSendingFlow(EdgeSegment from, EdgeSegment to, double flowPcuH)
Add turn sending flow for a given turn (can be negative), turn will not be removed if no flow remainsdouble
BushTurnData. addTurnSendingFlow(EdgeSegment from, EdgeSegment to, double flowPcuH, boolean allowTurnRemoval)
Add turn sending flow for a given turn (can be negative), flow can be removed if desired depending on flags set if desireddouble
LabelledBushTurnData. addTurnSendingFlow(EdgeSegment from, BushFlowLabel fromLabel, EdgeSegment to, BushFlowLabel toLabel, double flowPcuH)
Add turn sending flow for a given turn (can be negative), turn will not be removed if no flow remainsdouble
LabelledBushTurnData. addTurnSendingFlow(EdgeSegment from, BushFlowLabel fromLabel, EdgeSegment to, BushFlowLabel toLabel, double flowPcuH, boolean allowTurnRemoval)
Add turn sending flow for a given turn (can be negative), flow labelling can be removed if desired depdning on flags set if desireddouble
RootedLabelledBush. addTurnSendingFlow(EdgeSegment from, BushFlowLabel fromLabel, EdgeSegment to, BushFlowLabel toLabel, double addFlowPcuH)
Add turn sending flow to the bush.double
RootedLabelledBush. addTurnSendingFlow(EdgeSegment from, BushFlowLabel fromLabel, EdgeSegment to, BushFlowLabel toLabel, double addFlowPcuH, boolean allowTurnRemoval)
Add turn sending flow to the bush.double
RootedLabelledBush. computeSubPathAcceptedFlow(DirectedVertex startVertex, DirectedVertex endVertex, EdgeSegment[] subPathArray, double[] linkSegmentAcceptanceFactors)
Determine the accepted flow between origin,destination vertex using the subpath given by the subPathArray in order from start to finish.boolean
RootedLabelledBush. containsEdgeSegment(EdgeSegment edgeSegment)
Verify if the bush contains the given edge segmentboolean
BushTurnData. containsTurnSendingFlow(EdgeSegment fromSegment, EdgeSegment toSegment)
Verify if the turn sending flow for a given turn is positiveboolean
LabelledBushTurnData. containsTurnSendingFlow(EdgeSegment fromSegment, BushFlowLabel fromComposition, EdgeSegment toSegment, BushFlowLabel toComposition)
Verify if the turn sending flow for a given turn is positiveboolean
LabelledBushTurnData. containsTurnSendingFlow(EdgeSegment fromSegment, EdgeSegment toSegment)
Check if entry existsboolean
RootedLabelledBush. containsTurnSendingFlow(EdgeSegment from, BushFlowLabel fromLabel, EdgeSegment to, BushFlowLabel toLabel)
Verify if the provided turn has any registered sending flow for the given label combinationboolean
RootedLabelledBush. containsTurnSendingFlow(EdgeSegment from, EdgeSegment to)
Verify if the provided turn has any registered sending flowprotected static Pas
Pas. create(EdgeSegment[] s1, EdgeSegment[] s2)
Create a new PAS (factory method)Pas
PasManager. createAndRegisterNewPas(RootedLabelledBush bush, EdgeSegment[] s1, EdgeSegment[] s2)
create a new PAS for the given cheap and expensive paired alternative segments (subpaths) and register the origin bush on it that was responsible for creating itprotected double
PasFlowShiftExecutor. determineEntrySegmentFlowShift(EdgeSegment entrySegment, Mode theMode, AbstractPhysicalCost physicalCost, AbstractVirtualCost virtualCost, StaticLtmLoadingBushBase<?> networkLoading)
For the given PAS-entrysegment determine the flow shift to apply from the high cost to the low cost segment.EdgeSegment
RootedLabelledBush. determineIntroduceCycle(EdgeSegment[] alternative)
Verify if adding the sub-path edge segments would introduce a cycle in this bushTreeMap<BushFlowLabel,Double>
RootedLabelledBush. determineProportionalFlowCompositionRates(EdgeSegment edgeSegment, Set<BushFlowLabel> pasFlowCompositionLabels)
Find out the portion of the origin attributed flow on the segment that belongs to each available flow composition label proportional to the total flow across all provided labels on this same segmentdouble
RootedLabelledBush. determineSubPathSendingFlow(EdgeSegment entrySegment, EdgeSegment[] subPathArray)
Determine the sending flow between origin,destination vertex using the subpath given by the segment + subPathArray in order from start to finish.protected void
PasFlowShiftDestinationBasedExecutor. executeBushFlowShift(RootedLabelledBush bush, EdgeSegment entrySegment, double bushFlowShift, double[] flowAcceptanceFactors)
Perform the flow shift for a given bush.protected abstract void
PasFlowShiftExecutor. executeBushFlowShift(RootedLabelledBush bush, EdgeSegment entrySegment, double bushEntrySegmentFlowShift, double[] flowAcceptanceFactors)
Perform the flow shift for a given bush.protected void
PasFlowShiftOriginBasedDestLabelledExecutor. executeBushFlowShift(RootedLabelledBush origin, EdgeSegment entrySegment, double bushFlowShift, double[] flowAcceptanceFactors)
Perform the flow shift for a given bush.protected void
PasFlowShiftOriginBasedSmartLabelledExecutor. executeBushFlowShift(RootedLabelledBush origin, EdgeSegment entrySegment, double bushFlowShift, double[] flowAcceptanceFactors)
Perform the flow shift for a given bush.Pas
PasManager. findExistingPas(EdgeSegment[] alternative1, EdgeSegment[] alternative2)
Find PAS that exactly matches the provides alternative segments.BushFlowLabel
RootedLabelledBush. getFirstFlowCompositionLabel(EdgeSegment edgeSegment)
The first of the flow composition labels present on the given segment.TreeSet<BushFlowLabel>
LabelledBushTurnData. getFlowCompositionLabels(EdgeSegment edgeSegment)
The currently registered flow composition labels for this edge segmentTreeSet<BushFlowLabel>
RootedLabelledBush. getFlowCompositionLabels(EdgeSegment edgeSegment)
The labels present for the given segmentdouble
RootedLabelledBush. getSendingFlowPcuH(EdgeSegment edgeSegment)
Collect the sending flow of an edge segment in the bush, if not present, zero flow is returneddouble
RootedLabelledBush. getSendingFlowPcuH(EdgeSegment edgeSegment, BushFlowLabel compositionLabel)
Collect the sending flow of an edge segment in the bush but only for the specified label, if not present, zero flow is returneddouble
BushTurnData. getSplittingRate(EdgeSegment fromSegment, EdgeSegment toSegment)
Collect the splitting rate for a given link segment.double
LabelledBushTurnData. getSplittingRate(EdgeSegment fromSegment, EdgeSegment toSegment)
Collect the splitting rate for a given link segment.double
LabelledBushTurnData. getSplittingRate(EdgeSegment fromSegment, EdgeSegment toSegment, BushFlowLabel entryExitLabel)
Collect the bush splitting rate on the given turn for a given label.double
RootedLabelledBush. getSplittingRate(EdgeSegment from, EdgeSegment to)
Collect the bush splitting rate on the given turndouble
RootedLabelledBush. getSplittingRate(EdgeSegment entrySegment, EdgeSegment exitSegment, BushFlowLabel entryExitLabel)
Collect the bush splitting rate on the given turn for a given label.double[]
BushTurnData. getSplittingRates(EdgeSegment fromSegment)
Collect the splitting rates for a given link segment and composition.double[]
LabelledBushTurnData. getSplittingRates(EdgeSegment fromSegment)
Collect the splitting rates for a given link segment and composition.org.apache.commons.collections4.map.MultiKeyMap<Object,Double>
LabelledBushTurnData. getSplittingRates(EdgeSegment fromSegment, BushFlowLabel fromLabel)
Collect the bush splitting rates for a given incoming edge segment and entry label.double[]
LabelledBushTurnData. getSplittingRates(EdgeSegment fromSegment, BushFlowLabel fromLabel, BushFlowLabel toLabel)
Collect the bush splitting rates for a given incoming edge segment and entry-exit composition labelling.double[]
RootedLabelledBush. getSplittingRates(EdgeSegment entrySegment)
Collect the bush splitting rates for a given incoming edge segment.org.apache.commons.collections4.map.MultiKeyMap<Object,Double>
RootedLabelledBush. getSplittingRates(EdgeSegment entrySegment, BushFlowLabel entryLabel)
Collect the bush splitting rates for a given incoming edge segment and entry label.double
BushTurnData. getTotalAcceptedFlowToPcuH(EdgeSegment edgeSegment, double[] flowAcceptanceFactors)
Collect the accepted flow towards an edge segment in the bush with the specified label, if not present, zero flow is returneddouble
LabelledBushTurnData. getTotalAcceptedFlowToPcuH(EdgeSegment edgeSegment, BushFlowLabel compositionLabel, double[] flowAcceptanceFactors)
Collect the accepted flow towards an edge segment in the bush with the specified label, if not present, zero flow is returneddouble
BushTurnData. getTotalSendingFlowFromPcuH(EdgeSegment edgeSegment)
Total sending flows s_a from given segmentdouble
LabelledBushTurnData. getTotalSendingFlowFromPcuH(EdgeSegment edgeSegment)
Total sending flows s_a from given segmentdouble
LabelledBushTurnData. getTotalSendingFlowFromPcuH(EdgeSegment edgeSegment, BushFlowLabel compositionLabel)
Collect the sending flow originating at an edge segment in the bush but only for the specified label, if not present, zero flow is returneddouble
RootedLabelledBush. getTurnSendingFlow(EdgeSegment from, BushFlowLabel fromLabel, EdgeSegment to, BushFlowLabel toLabel)
Collect bush turn sending flow (if any)double
RootedLabelledBush. getTurnSendingFlow(EdgeSegment from, EdgeSegment to)
Collect bush turn sending flow (if any)double
BushTurnData. getTurnSendingFlowPcuH(EdgeSegment fromSegment, EdgeSegment toSegment)
Get the turn sending flow for a given turndouble
LabelledBushTurnData. getTurnSendingFlowPcuH(EdgeSegment fromSegment, BushFlowLabel fromComposition, EdgeSegment toSegment, BushFlowLabel toComposition)
Get the turn sending flow for a given turndouble
LabelledBushTurnData. getTurnSendingFlowPcuH(EdgeSegment fromSegment, EdgeSegment toSegment)
Get the turn sending flow for a given turn regardless of the composition labelboolean
LabelledBushTurnData. hasFlowCompositionLabel(EdgeSegment edgeSegment)
Verify if the edge segment has any flow composition labels registered on itboolean
LabelledBushTurnData. hasFlowCompositionLabel(EdgeSegment edgeSegment, BushFlowLabel compositionLabel)
Verify if the edge segment has the flow composition label providedboolean
RootedLabelledBush. hasFlowCompositionLabel(EdgeSegment edgeSegment)
Verify if the edge segment has any flow composition labels registered on itboolean
RootedLabelledBush. hasFlowCompositionLabel(EdgeSegment edgeSegment, BushFlowLabel compositionLabel)
Verify if the edge segment has the flow composition label providedboolean
Pas. isAlternativeEqual(EdgeSegment[] pathToVerify, boolean lowCost)
Verify if the provided path is equal to the PAS alternativedouble
LabelledBushTurnData. relabel(EdgeSegment fromSegment, BushFlowLabel oldFromLabel, EdgeSegment toSegment, BushFlowLabel oldToLabel, BushFlowLabel newFromToLabel)
Relabel existing flow from one composition from-to combination to a new from-to labeldouble
RootedLabelledBush. relabel(EdgeSegment fromSegment, BushFlowLabel oldFromLabel, EdgeSegment toSegment, BushFlowLabel oldToLabel, BushFlowLabel newFromToLabel)
Relabel existing flow from one composition from-to combination to a new from-to labeldouble
LabelledBushTurnData. relabelFrom(EdgeSegment fromSegment, BushFlowLabel oldFromLabel, EdgeSegment toSegment, BushFlowLabel toLabel, BushFlowLabel newFromLabel)
Relabel the from label of existing flow from one composition from-to combination to a new from-to labeldouble
RootedLabelledBush. relabelFrom(EdgeSegment fromSegment, BushFlowLabel oldFromLabel, EdgeSegment toSegment, BushFlowLabel toLabel, BushFlowLabel newFromLabel)
Relabel the from label of existing flow from one composition from-to combination to a new from-to labeldouble
LabelledBushTurnData. relabelTo(EdgeSegment fromSegment, BushFlowLabel fromLabel, EdgeSegment toSegment, BushFlowLabel oldToLabel, BushFlowLabel newToLabel)
Relabel the to label of existing flow from one composition from-to combination to a new from-to labeldouble
RootedLabelledBush. relabelTo(EdgeSegment fromSegment, BushFlowLabel fromLabel, EdgeSegment toSegment, BushFlowLabel oldToLabel, BushFlowLabel newToLabel)
Relabel the to label of existing flow from one composition from-to combination to a new from-to labelboolean
RootedLabelledBush. removeEdgeSegment(EdgeSegment edgeSegment)
Remove edge segment from bush, if it no longer has flowvoid
BushTurnData. removeTurn(EdgeSegment fromEdgeSegment, EdgeSegment toEdgeSegment)
Remove the turn entirelyvoid
LabelledBushTurnData. removeTurn(EdgeSegment fromEdgeSegment, EdgeSegment toEdgeSegment)
Remove the turn entirelyvoid
RootedLabelledBush. removeTurn(EdgeSegment fromEdgeSegment, EdgeSegment toEdgeSegment)
Remove a turn from the bush by removing it from the acyclic graph and removing any data associated with it.void
LabelledBushTurnData. removeTurnFlow(EdgeSegment fromEdgeSegment, BushFlowLabel fromLabel, EdgeSegment toEdgeSegment, BushFlowLabel toLabel)
Remove the turn flow of the given labels (if present) and update the link composition labels in the processboolean
BushTurnData. setTurnSendingFlow(EdgeSegment fromSegment, EdgeSegment toSegment, double turnSendingFlow, boolean allowTurnRemoval)
Update the turn sending flow for a given turnboolean
LabelledBushTurnData. setTurnSendingFlow(EdgeSegment fromSegment, BushFlowLabel fromComposition, EdgeSegment toSegment, BushFlowLabel toComposition, double turnSendingFlow, boolean allowTurnRemoval)
Update the turn sending flow for a given turnMethod parameters in org.goplanit.assignment.ltm.sltm with type arguments of type EdgeSegment Modifier and Type Method Description double
RootedLabelledBush. computeSubPathSendingFlow(DirectedVertex startVertex, DirectedVertex endVertex, Map<DirectedVertex,EdgeSegment> subPathMap)
Determine the sending flow between origin,destination vertex using the subpath given by the subPathMap, where each vertex provides its exit segment.Pas
PasManager. createAndRegisterNewPas(RootedLabelledBush bush, Collection<EdgeSegment> s1, Collection<EdgeSegment> s2)
create a new PAS for the given cheap and expensive paired alternative segments (subpaths) and register the origin bush on it that was responsible for creating itstatic EdgeSegment[]
PasManager. createSubpathArrayFrom(DirectedVertex closestToSearchRoot, DirectedVertex furthestFromSearchRoot, ShortestSearchType shortestSearchType, Map<DirectedVertex,EdgeSegment> invertedBfSearchResultTree, int arrayLength, boolean truncateArray)
Extract a subpath in the form of a raw edge segment array in downstream direction based on the breadth-first (BF) search result provided.Pas
PasManager. findExistingPas(List<EdgeSegment> alternative1, List<EdgeSegment> alternative2)
Find PAS that exactly matches the provides alternative segments.void
Pas. forEachEdgeSegment(boolean lowCostSegment, Consumer<EdgeSegment> edgeSegmentConsumer)
Apply consumer to each edgeSegment on one of the cost segmentsboolean
Pas. isAlternativeEqual(Collection<EdgeSegment> pathToVerify, boolean lowCost)
Verify if the provided path is equal to the PAS alternativeEdgeSegment
Pas. matchFirst(boolean lowCostSegment, Predicate<EdgeSegment> predicate)
Match first link segment of PAS segment to predicate provided -
Uses of EdgeSegment in org.goplanit.assignment.ltm.sltm.conjugate
Methods in org.goplanit.assignment.ltm.sltm.conjugate that return types with arguments of type EdgeSegment Modifier and Type Method Description Pair<DirectedVertex,Map<DirectedVertex,EdgeSegment>>
ConjugateDestinationBush. findBushAlternativeSubpath(DirectedVertex referenceVertex, short[] alternativeSubpathVertexLabels)
The alternative subpath is provided through link segment labels of value -1.Methods in org.goplanit.assignment.ltm.sltm.conjugate with parameters of type EdgeSegment Modifier and Type Method Description double
ConjugateDestinationBush. computeSubPathAcceptedFlow(DirectedVertex startVertex, DirectedVertex endVertex, EdgeSegment[] subPathArray, double[] linkSegmentAcceptanceFactors)
Determine the accepted flow between origin,destination vertex using the subpath given by the subPathArray in order from start to finish.TreeMap<BushFlowLabel,Double>
ConjugateDestinationBush. determineProportionalFlowCompositionRates(EdgeSegment edgeSegment, Set<BushFlowLabel> pasFlowCompositionLabels)
Find out the portion of the origin attributed flow on the segment that belongs to each available flow composition label proportional to the total flow across all provided labels on this same segmentdouble
ConjugateDestinationBush. determineSubPathSendingFlow(EdgeSegment entrySegment, EdgeSegment[] subPathArray)
Determine the sending flow between origin,destination vertex using the subpath given by the segment + subPathArray in order from start to finish.Method parameters in org.goplanit.assignment.ltm.sltm.conjugate with type arguments of type EdgeSegment Modifier and Type Method Description double
ConjugateDestinationBush. computeSubPathSendingFlow(DirectedVertex startVertex, DirectedVertex endVertex, Map<DirectedVertex,EdgeSegment> subPathMap)
Determine the sending flow between origin,destination vertex using the subpath given by the subPathMap, where each vertex provides its exit segment. -
Uses of EdgeSegment in org.goplanit.assignment.ltm.sltm.consumer
Methods in org.goplanit.assignment.ltm.sltm.consumer that return EdgeSegment Modifier and Type Method Description EdgeSegment
NMRCollectMostRestrictingTurnConsumer. getMostRestrictingOutSegment()
Methods in org.goplanit.assignment.ltm.sltm.consumer with parameters of type EdgeSegment Modifier and Type Method Description protected void
NetworkTurnFlowUpdateData. addToAcceptedTurnFlows(EdgeSegment entrySegment, EdgeSegment exitSegment, double flowToAddPcuH)
add to accepted turn flowsprotected void
RootedBushFlowUpdateConsumerImpl. applyAcceptedTurnFlowUpdate(EdgeSegment prevSegment, BushFlowLabel prevLabel, EdgeSegment currentSegment, BushFlowLabel currLabel, double turnAcceptedFlowPcuH)
Register the bush accepted turn flow to the turn if required.protected void
RootedBushTurnFlowUpdateConsumer. applyAcceptedTurnFlowUpdate(EdgeSegment prevSegment, BushFlowLabel prevLabel, EdgeSegment currentSegment, BushFlowLabel currLabel, double turnAcceptedFlowPcuH)
Track the turn accepted flows when they are classified as being tracked during network loading, otherwise do nothingprotected abstract void
PathFlowUpdateConsumer. applyPathFinalSegmentFlowUpdate(EdgeSegment lastEdgeSegment, double acceptedPathFlowRate)
Apply the flow to a final path segment (and update link sending flow if required) which has no outgoing edge segment on the turnprotected void
PathLinkFlowUpdateConsumer. applyPathFinalSegmentFlowUpdate(EdgeSegment lastEdgeSegment, double acceptedPathFlowRate)
Apply final path flow on last segment that otherwise would not have been updated in the turn basedPathLinkFlowUpdateConsumer.applySingleFlowUpdate(EdgeSegment, EdgeSegment, double)
protected void
PathTurnFlowUpdateConsumer. applyPathFinalSegmentFlowUpdate(EdgeSegment lastEdgeSegment, double acceptedPathFlowRate)
DO NOTHING - since this is a turn update and the final turn has no outgoing edge segment it is never tracked (because it does not exist), therefore, we can disregard updating the final segment flow in a turn flow update setting, even when tracking link segment sending flows (since this sending flow is never required as input to a node model updateprotected abstract double
PathFlowUpdateConsumer. applySingleFlowUpdate(EdgeSegment prevSegment, EdgeSegment currentSegment, double turnSendingFlowPcuH)
Apply the flow to the turn (and update link sending flow if required)protected double
PathLinkFlowUpdateConsumer. applySingleFlowUpdate(EdgeSegment prevSegment, EdgeSegment currentSegment, double turnSendingFlowPcuH)
For each entry segment update the in(sending)flowprotected double
PathTurnFlowUpdateConsumer. applySingleFlowUpdate(EdgeSegment prevSegment, EdgeSegment currentSegment, double turnSendingFlowPcuH)
Apply the flow to the turn (and update link sending flow if required)Constructors in org.goplanit.assignment.ltm.sltm.consumer with parameters of type EdgeSegment Constructor Description NMRCollectMostRestrictingTurnConsumer(EdgeSegment entrySegment)
Constructor -
Uses of EdgeSegment in org.goplanit.assignment.ltm.sltm.loading
Methods in org.goplanit.assignment.ltm.sltm.loading with parameters of type EdgeSegment Modifier and Type Method Description default double
SplittingRateData. getSplittingRate(EdgeSegment entrySegment, EdgeSegment exitSegment)
Obtain the splitting rate of a given turn (non-modifiable)org.ojalgo.array.Array1D<Double>
SplittingRateData. getSplittingRates(EdgeSegment entrySegment)
Obtain the downstream splitting rates of given node entry segment (can be modified)org.ojalgo.array.Array1D<Double>
SplittingRateDataComplete. getSplittingRates(EdgeSegment entrySegment)
Obtain the downstream splitting rates of given node entry segment (can be modified)org.ojalgo.array.Array1D<Double>
SplittingRateDataPartial. getSplittingRates(EdgeSegment entrySegment)
Obtain the downstream splitting rates of given node entry segment (can be modified) -
Uses of EdgeSegment in org.goplanit.cost
Classes in org.goplanit.cost with type parameters of type EdgeSegment Modifier and Type Interface Description interface
Cost<T extends EdgeSegment>
Cost of an EdgeSegment -
Uses of EdgeSegment in org.goplanit.graph.directed
Classes in org.goplanit.graph.directed with type parameters of type EdgeSegment Modifier and Type Class Description class
DirectedEdgeImpl<V extends DirectedVertex,ES extends EdgeSegment>
Edge class connecting two vertices via some geometry.class
DirectedGraphImpl<V extends DirectedVertex,E extends DirectedEdge,ES extends EdgeSegment>
A directed graph implementation consisting of directed vertices, directed edges and edge segmentsclass
DirectedVertexImpl<E extends EdgeSegment>
vertex representation connected to one or more entry and exit edgesclass
DirectedVertexImpl.EdgeSegmentIterable<ESI extends EdgeSegment>
Dedicated iterable to provide access to edge segments that are either incoming or outgoing for this vertexclass
DirectedVertexImpl.EdgeSegmentIterator<ES extends EdgeSegment>
Iterator for a run over the incoming or outgoing edge segments of this vertex (non-modifiable)class
UntypedDirectedGraphImpl<V extends DirectedVertex,E extends DirectedEdge,ES extends EdgeSegment>
A directed graph implementation consisting of directed vertices and directed edgesClasses in org.goplanit.graph.directed that implement EdgeSegment Modifier and Type Class Description class
ConjugateEdgeSegmentImpl
Conjugate EdgeSegment represents an edge in a particular (single) direction in a conjugate directed graph.class
EdgeSegmentImpl<E extends DirectedEdge>
EdgeSegment represents an edge in a particular (single) direction.Methods in org.goplanit.graph.directed that return EdgeSegment Modifier and Type Method Description EdgeSegment
EdgeSegmentFactoryImpl. create(DirectedEdge parentEdge, boolean directionAB)
Create edge segmentEdgeSegment
EdgeSegmentFactoryImpl. registerNew(DirectedEdge parentEdge, boolean directionAb, boolean registerOnVertexAndEdge)
Create directional edge segment and register itMethods in org.goplanit.graph.directed with parameters of type EdgeSegment Modifier and Type Method Description void
EdgeSegmentsImpl. register(DirectedEdge parentEdge, EdgeSegment edgeSegment, boolean directionAB)
Register a edge segment (not registered on nodes and edge)ES
DirectedEdgeImpl. registerEdgeSegment(EdgeSegment edgeSegment, boolean directionAB, boolean force)
Register EdgeSegment.void
DirectedEdgeImpl. replace(EdgeSegment edgeSegmentToReplace, EdgeSegment edgeSegmentToReplaceWith)
replace passed in edge segment (if present) with the passed in oneprotected static boolean
EdgeSegmentImpl. validate(EdgeSegment edgeSegment)
Validate given edge segment on validityMethod parameters in org.goplanit.graph.directed with type arguments of type EdgeSegment Modifier and Type Method Description EdgeSegmentsImpl
EdgeSegmentsImpl. deepCloneWithMapping(BiConsumer<EdgeSegment,EdgeSegment> mapper)
Deep clone implementation with mapping retained between original and copies createdEdgeSegmentsImpl
EdgeSegmentsImpl. deepCloneWithMapping(BiConsumer<EdgeSegment,EdgeSegment> mapper)
Deep clone implementation with mapping retained between original and copies createdConstructor parameters in org.goplanit.graph.directed with type arguments of type EdgeSegment Constructor Description EdgeSegmentImpl(IdGroupingToken groupId, E parentEdge, boolean directionAb, Class<? extends EdgeSegment> idClazz)
ConstructorEdgeSegmentsImpl(EdgeSegmentsImpl other, boolean deepCopy, BiConsumer<EdgeSegment,EdgeSegment> biConsumer)
Copy constructor, also creates a new factory with reference to this containerEdgeSegmentsImpl(EdgeSegmentsImpl other, boolean deepCopy, BiConsumer<EdgeSegment,EdgeSegment> biConsumer)
Copy constructor, also creates a new factory with reference to this container -
Uses of EdgeSegment in org.goplanit.graph.directed.acyclic
Classes in org.goplanit.graph.directed.acyclic with type parameters of type EdgeSegment Modifier and Type Class Description class
UntypedACyclicSubGraphImpl<V extends DirectedVertex,E extends EdgeSegment>
An acyclic sub graph contains a subset of the full graph without cycles.Methods in org.goplanit.graph.directed.acyclic with parameters of type EdgeSegment Modifier and Type Method Description boolean
UntypedACyclicSubGraphImpl. containsEdgeSegment(EdgeSegment edgeSegment)
Verify if given edge segment is registered on this subgraph -
Uses of EdgeSegment in org.goplanit.graph.directed.modifier
Methods in org.goplanit.graph.directed.modifier with parameters of type EdgeSegment Modifier and Type Method Description void
DirectedGraphModifierImpl. removeEdgeSegment(EdgeSegment edgeSegment)
Remove an edge segment by removing it from the graph and the edge it is connected to. -
Uses of EdgeSegment in org.goplanit.graph.directed.modifier.event
Methods in org.goplanit.graph.directed.modifier.event that return EdgeSegment Modifier and Type Method Description EdgeSegment
BreakEdgeSegmentEvent. getNewlyBrokenEdgeSegment()
Collect broken edge segmentEdgeSegment
RemoveSubGraphEdgeSegmentEvent. getRemovedEdgeSegment()
The removed edge segmentConstructors in org.goplanit.graph.directed.modifier.event with parameters of type EdgeSegment Constructor Description BreakEdgeSegmentEvent(DirectedGraphModifier source, DirectedVertex vertexToBreakAt, EdgeSegment brokenEdgeSegment)
constructorRemoveSubGraphEdgeSegmentEvent(DirectedGraphModifier source, EdgeSegment removedEdgeSegment)
Constructor -
Uses of EdgeSegment in org.goplanit.gtfs.util
Method parameters in org.goplanit.gtfs.util with type arguments of type EdgeSegment Modifier and Type Method Description static Collection<DirectedConnectoid>
GtfsDirectedConnectoidHelper. createAndRegisterDirectedConnectoids(TransferZone transferZone, MacroscopicNetworkLayer networkLayer, Node accessNode, Iterable<? extends EdgeSegment> linkSegments, Set<Mode> allowedModes, GtfsZoningHandlerData data)
create directed connectoids, one per link segment provided, all related to the given transfer zone and with access modes provided. -
Uses of EdgeSegment in org.goplanit.network.layer
Classes in org.goplanit.network.layer with type parameters of type EdgeSegment Modifier and Type Class Description class
UntypedNetworkLayerImpl<V extends DirectedVertex,E extends DirectedEdge,S extends EdgeSegment>
Model free network layer consisting of containers for vertices, edges, and edge segments each of which can be typed separately. -
Uses of EdgeSegment in org.goplanit.network.layer.macroscopic
Classes in org.goplanit.network.layer.macroscopic that implement EdgeSegment Modifier and Type Class Description class
MacroscopicLinkSegmentImpl
Link segment for macroscopic transport networks. -
Uses of EdgeSegment in org.goplanit.network.layer.modifier
Classes in org.goplanit.network.layer.modifier with type parameters of type EdgeSegment Modifier and Type Class Description class
UntypedNetworkLayerModifierImpl<V extends DirectedVertex,E extends DirectedEdge,S extends EdgeSegment>
Modifier class for model free network layer, generics used to allow derived classes to provide typed versions for containers and content of containers. -
Uses of EdgeSegment in org.goplanit.network.layer.physical
Classes in org.goplanit.network.layer.physical with type parameters of type EdgeSegment Modifier and Type Class Description class
LinkImpl<N extends DirectedVertex,LS extends EdgeSegment>
Link class connecting two nodes via some geometry.class
NodeImpl<LS extends EdgeSegment>
Node representation connected to one or more entry and exit linksClasses in org.goplanit.network.layer.physical that implement EdgeSegment Modifier and Type Class Description class
ConjugateLinkSegmentImpl
Conjugate Link segment object representing conjugate of original network's adjacent link segment pair, i.e.class
LinkSegmentBase<L extends Link>
Link segment object representing physical links in the network and storing their properties -
Uses of EdgeSegment in org.goplanit.network.layer.service
Classes in org.goplanit.network.layer.service that implement EdgeSegment Modifier and Type Class Description class
ServiceLegSegmentImpl
A service leg segment implementation. -
Uses of EdgeSegment in org.goplanit.network.virtual
Classes in org.goplanit.network.virtual that implement EdgeSegment Modifier and Type Class Description class
ConjugateConnectoidSegmentImpl
Conjugate connectoid segment object representing conjugate of original network's adjacent connectoid segment pair, i.e.class
ConnectoidSegmentImpl
The link segment that connects a zone to the physical network is not a physical link segment. -
Uses of EdgeSegment in org.goplanit.path
Methods in org.goplanit.path that return EdgeSegment Modifier and Type Method Description EdgeSegment
ManagedDirectedPathImpl. getFirstSegment()
Collect first segment on pathEdgeSegment
SimpleDirectedPathImpl. getFirstSegment()
Collect first segment on pathEdgeSegment
ManagedDirectedPathImpl. getLastSegment()
Collect last segment on pathEdgeSegment
SimpleDirectedPathImpl. getLastSegment()
Collect last segment on pathMethods in org.goplanit.path that return types with arguments of type EdgeSegment Modifier and Type Method Description Iterator<EdgeSegment>
ManagedDirectedPathImpl. iterator()
Iterator<EdgeSegment>
SimpleDirectedPathImpl. iterator()
Methods in org.goplanit.path with parameters of type EdgeSegment Modifier and Type Method Description void
SimpleDirectedPathImpl. append(EdgeSegment... edgeSegments)
Append given edge segments to the simple pathvoid
SimpleDirectedPathImpl. prepend(EdgeSegment... edgeSegments)
Prepend given edge segments to the simple pathMethod parameters in org.goplanit.path with type arguments of type EdgeSegment Modifier and Type Method Description boolean
ManagedDirectedPathImpl. containsSubPath(Collection<? extends EdgeSegment> subPath)
Verify if the path contains the provided subpath.boolean
ManagedDirectedPathImpl. containsSubPath(Iterator<? extends EdgeSegment> subPath)
Verify if the path contains the provided subpath.boolean
SimpleDirectedPathImpl. containsSubPath(Collection<? extends EdgeSegment> subPath)
Verify if the path contains the provided subpath.boolean
SimpleDirectedPathImpl. containsSubPath(Iterator<? extends EdgeSegment> subPathIter)
Verify if the path contains the provided subpath.ManagedDirectedPath
ManagedDirectedPathFactoryImpl. createNew(Deque<? extends EdgeSegment> edgeSegments)
Create new pathSimpleDirectedPathImpl
SimpleDirectedPathFactoryImpl. createNew(Deque<? extends EdgeSegment> edgeSegments)
Create new pathManagedDirectedPath
ContainerisedDirectedPathFactoryImpl. registerNew(Deque<? extends EdgeSegment> edgeSegments)
Create new path based on the provided edge segmentsConstructor parameters in org.goplanit.path with type arguments of type EdgeSegment Constructor Description ManagedDirectedPathImpl(IdGroupingToken groupId, Deque<? extends EdgeSegment> pathEdgeSegments)
ConstructorSimpleDirectedPathImpl(Deque<? extends EdgeSegment> pathEdgeSegments)
Constructor -
Uses of EdgeSegment in org.goplanit.utils.geo
Methods in org.goplanit.utils.geo with type parameters of type EdgeSegment Modifier and Type Method Description static <T extends EdgeSegment>
org.locationtech.jts.geom.LineSegmentPlanitGraphGeoUtils. extractClosestLineSegmentTo(org.locationtech.jts.geom.Geometry referenceGeometry, T edgeSegment, PlanitJtsCrsUtils geoUtils)
Extract the JTS line segment from the edge segment that is closest to the reference geometry in its intended direction. -
Uses of EdgeSegment in org.goplanit.utils.graph
Classes in org.goplanit.utils.graph with type parameters of type EdgeSegment Modifier and Type Interface Description interface
UntypedDirectedGraph<V extends DirectedVertex,E extends DirectedEdge,ES extends EdgeSegment>
Interface for a directed graph -
Uses of EdgeSegment in org.goplanit.utils.graph.directed
Classes in org.goplanit.utils.graph.directed with type parameters of type EdgeSegment Modifier and Type Interface Description interface
DirectedGraph<V extends DirectedVertex,E extends DirectedEdge,ES extends EdgeSegment>
Interface for a directed graph with explicit container types rather than the base containers.interface
DirectedSubGraph<V extends DirectedVertex,E extends EdgeSegment>
A directed subgraph interface for a given parent graph by registering edge segments on it (and therefore vertices and edges)Subinterfaces of EdgeSegment in org.goplanit.utils.graph.directed Modifier and Type Interface Description interface
ConjugateEdgeSegment
Conjugate version of edge segment representing connection between two edge segments on origin networkFields in org.goplanit.utils.graph.directed with type parameters of type EdgeSegment Modifier and Type Field Description static Class<EdgeSegment>
EdgeSegment. EDGE_SEGMENT_ID_CLASS
id class for generating idsstatic Function<EdgeSegment,DirectedVertex>
EdgeSegment. getDownstreamVertex
Function collecting downstream vertex for edge segmentstatic Function<DirectedVertex,Iterable<? extends EdgeSegment>>
DirectedVertex. getEntryEdgeSegments
Function collecting entry edge segments for vertexstatic Function<DirectedVertex,Iterable<? extends EdgeSegment>>
DirectedVertex. getExitEdgeSegments
Function collecting exit edge segments for vertexstatic Function<EdgeSegment,DirectedVertex>
EdgeSegment. getUpstreamVertex
Function collecting upstream vertex for edge segmentMethods in org.goplanit.utils.graph.directed with type parameters of type EdgeSegment Modifier and Type Method Description default <T extends EdgeSegment>
voidDirectedEdge. forEachSegment(Consumer<T> edgeSegmentConsumer)
Apply consumer to each edge segment of directed egde when presentstatic <E extends DirectedEdge,ES extends EdgeSegment>
voidDirectedEdgeUtils. updateDirectedEdgeEdgeSegments(Iterable<E> edges, Function<ES,ES> edgeSegmentToEdgeSegmentMapping, boolean removeMissingMappings)
Update the edge segments of all directed edge based on the mapping provided (if any)static <ES extends EdgeSegment,E extends DirectedEdge>
voidEdgeSegmentUtils. updateEdgeSegmentParentEdges(Iterable<ES> edgeSegments, Function<E,E> edgeToEdgeMapping, boolean removeMissingMappings)
Update the parent edge of all edge segments based on the mapping provided (if any)Methods in org.goplanit.utils.graph.directed that return EdgeSegment Modifier and Type Method Description EdgeSegment
EdgeSegmentFactory. create(DirectedEdge parentEdge, boolean directionAB)
Create edge segmentEdgeSegment
EdgeSegment. deepClone()
An id entity should always support a deep copy, i.e., all "owned" members will be deep copied when a clone of this instance is created via this call.default EdgeSegment
DirectedEdge. getEdgeSegment(boolean directionAb)
Edge segment in the direction indicateddefault EdgeSegment
DirectedVertex. getEdgeSegment(DirectedVertex otherVertex)
collect the first edge segment corresponding to the provided other vertexEdgeSegment
DirectedEdge. getEdgeSegmentAb()
Edge segment in the direction from A to BEdgeSegment
DirectedEdge. getEdgeSegmentBa()
Edge segment in the direction from B to Adefault EdgeSegment
EdgeSegment. getOppositeDirectionSegment()
Collect the opposite direction segment of this edge segment (if any)default EdgeSegment
DirectedEdge. registerEdgeSegment(EdgeSegment edgeSegment, boolean directionAB)
Register EdgeSegment.EdgeSegment
DirectedEdge. registerEdgeSegment(EdgeSegment edgeSegment, boolean directionAB, boolean force)
Register EdgeSegment.EdgeSegment
EdgeSegmentFactory. registerNew(DirectedEdge parentEdge, boolean directionAb, boolean registerOnVertexAndEdge)
Create directional edge segment and register itdefault EdgeSegment
DirectedEdge. removeEdgeSegment(EdgeSegment edgeSegment)
Remove given edge segment from edge.EdgeSegment
DirectedEdge. removeEdgeSegmentAb()
Remove edge segmentAb from this edge.EdgeSegment
DirectedEdge. removeEdgeSegmentBa()
Remove edge segmentAb from this edge.EdgeSegment
EdgeSegment. shallowClone()
Create a shallow copy of this entityMethods in org.goplanit.utils.graph.directed that return types with arguments of type EdgeSegment Modifier and Type Method Description default Collection<? extends EdgeSegment>
DirectedEdge. getEdgeSegments()
collect all edge segments available on the edgestatic Function<DirectedVertex,Iterable<? extends EdgeSegment>>
DirectedVertex. getEdgeSegmentsForVertexLambda(boolean entrySegments)
Collect lambda function that collects either up or downstream edge segmentsIterable<? extends EdgeSegment>
DirectedVertex. getEntryEdgeSegments()
Collect the entry edge segments of this vertex (unmodifiable)Iterable<? extends EdgeSegment>
DirectedVertex. getExitEdgeSegments()
Collect the exit edge segments of this vertex (unmodifiable)default Class<? extends EdgeSegment>
EdgeSegment. getIdClass()
All edges use the EDGE_SEGMENT_ID_CLASS to generate the unique internal idsdefault Pair<? extends EdgeSegment,? extends EdgeSegment>
ConjugateDirectedEdge. getOriginalAdjacentEdgeSegments(boolean directionAb)
Collect original pair of edge segments that this conjugate in given direction makes up fordefault Pair<? extends EdgeSegment,? extends EdgeSegment>
ConjugateDirectedEdge. getOriginalAdjacentEdgeSegments(boolean directionAb)
Collect original pair of edge segments that this conjugate in given direction makes up fordefault Pair<? extends EdgeSegment,? extends EdgeSegment>
ConjugateEdgeSegment. getOriginalAdjcentEdgeSegments()
Adjacent edge segments in original graph for this conjugatedefault Pair<? extends EdgeSegment,? extends EdgeSegment>
ConjugateEdgeSegment. getOriginalAdjcentEdgeSegments()
Adjacent edge segments in original graph for this conjugatestatic Function<EdgeSegment,DirectedVertex>
EdgeSegment. getVertexForEdgeSegmentLambda(boolean upstreamVertex)
Collect vertex of given edge segment lambdaMethods in org.goplanit.utils.graph.directed with parameters of type EdgeSegment Modifier and Type Method Description default boolean
DirectedVertex. hasEntrySegment(EdgeSegment segment)
Find segment in entry segmentsdefault boolean
DirectedVertex. hasExitSegment(EdgeSegment segment)
Find segment in exit segmentsstatic boolean
EdgeSegment. hasSegment(EdgeSegment edgeSegment, Iterable<? extends EdgeSegment> edgeSegments)
Find segment in iterable of segmentsdefault boolean
EdgeSegment. isAdjacent(EdgeSegment other, boolean allowUTurn)
Verify if provided edge segment is adjacent to this edge segment taking direction into account, i.e., either an upstream segment is directly adjacent to this segment, or this segment connects to a directly adjcent downstream segmentvoid
EdgeSegments. register(DirectedEdge parentEdge, EdgeSegment edgeSegment, boolean directionAB)
Register a edge segment (not registered on nodes and edge)ConjugateEdgeSegment
ConjugateDirectedEdge. registerEdgeSegment(EdgeSegment edgeSegment, boolean directionAB, boolean force)
Register EdgeSegment.default EdgeSegment
DirectedEdge. registerEdgeSegment(EdgeSegment edgeSegment, boolean directionAB)
Register EdgeSegment.EdgeSegment
DirectedEdge. registerEdgeSegment(EdgeSegment edgeSegment, boolean directionAB, boolean force)
Register EdgeSegment.default EdgeSegment
DirectedEdge. removeEdgeSegment(EdgeSegment edgeSegment)
Remove given edge segment from edge.void
DirectedEdge. replace(EdgeSegment edgeSegmentToReplace, EdgeSegment edgeSegmentToReplaceWith)
replace passed in edge segment (if present) with the passed in oneMethod parameters in org.goplanit.utils.graph.directed with type arguments of type EdgeSegment Modifier and Type Method Description static boolean
EdgeSegment. hasSegment(EdgeSegment edgeSegment, Iterable<? extends EdgeSegment> edgeSegments)
Find segment in iterable of segments -
Uses of EdgeSegment in org.goplanit.utils.graph.directed.acyclic
Classes in org.goplanit.utils.graph.directed.acyclic with type parameters of type EdgeSegment Modifier and Type Interface Description interface
UntypedACyclicSubGraph<V extends DirectedVertex,E extends EdgeSegment>
An untyped acyclic sub graph contains a subset of a full graph, with generics regarding vertices and edges, without cycles. -
Uses of EdgeSegment in org.goplanit.utils.graph.modifier
Methods in org.goplanit.utils.graph.modifier with parameters of type EdgeSegment Modifier and Type Method Description void
RemoveDirectedSubGraphListener. onRemoveSubGraphEdgeSegment(EdgeSegment edgeSegment)
callback whenever an edge segment is removed from a subgraph it is part ofvoid
DirectedGraphModifier. removeEdgeSegment(EdgeSegment edgeSegment)
Remove an edge segment by removing it from the graph and the edge it is connected to. -
Uses of EdgeSegment in org.goplanit.utils.network.layer
Classes in org.goplanit.utils.network.layer with type parameters of type EdgeSegment Modifier and Type Interface Description interface
UntypedDirectedGraphLayer<V extends DirectedVertex,E extends DirectedEdge,S extends EdgeSegment>
Network layer comprising containers with custom entity types. -
Uses of EdgeSegment in org.goplanit.utils.network.layer.macroscopic
Subinterfaces of EdgeSegment in org.goplanit.utils.network.layer.macroscopic Modifier and Type Interface Description interface
MacroscopicLinkSegment
Macroscopic traffic modeling oriented link segment. -
Uses of EdgeSegment in org.goplanit.utils.network.layer.modifier
Classes in org.goplanit.utils.network.layer.modifier with type parameters of type EdgeSegment Modifier and Type Interface Description interface
UntypedDirectedGraphLayerModifier<V extends DirectedVertex,E extends DirectedEdge,S extends EdgeSegment>
Modifier with additional functionality related to modifications to layers derived fromUntypedDirectedGraphLayer
. -
Uses of EdgeSegment in org.goplanit.utils.network.layer.physical
Subinterfaces of EdgeSegment in org.goplanit.utils.network.layer.physical Modifier and Type Interface Description interface
ConjugateLinkSegment
Interface for a turn, i.e.interface
LinkSegment
Interface for link segments (directional) part of link (non-directional).Methods in org.goplanit.utils.network.layer.physical with type parameters of type EdgeSegment Modifier and Type Method Description default <LS extends EdgeSegment>
Iterable<LS>Node. getEntryLinkSegments()
It is expected that nodes are used in conjunction with link segments.default <LS extends EdgeSegment>
Iterable<LS>Node. getExitLinkSegments()
It is expected that nodes are used in conjunction with link segments.default <LS extends EdgeSegment>
LSNode. getFirstEntryLinkSegment()
Collect the first available entry link segment using the iterator internally.default <LS extends EdgeSegment>
LSNode. getFirstExitLinkSegment()
Collect the first available exit link segment using the iterator internally.default <LS extends EdgeSegment>
LSNode. getLinkSegment(Node endNode)
collect the first edge segment corresponding to the provided end node -
Uses of EdgeSegment in org.goplanit.utils.network.layer.service
Subinterfaces of EdgeSegment in org.goplanit.utils.network.layer.service Modifier and Type Interface Description interface
ServiceLegSegment
Interface for directed ServiceLegSegment part of non-directional ServiceLeg.Methods in org.goplanit.utils.network.layer.service that return types with arguments of type EdgeSegment Modifier and Type Method Description default Iterable<? extends EdgeSegment>
ServiceNode. getEntryLegSegments()
Identical toDirectedVertex.getEntryEdgeSegments()
default Iterable<? extends EdgeSegment>
ServiceNode. getExitLegSegments()
Identical toDirectedVertex.getExitEdgeSegments()
-
Uses of EdgeSegment in org.goplanit.utils.network.virtual
Subinterfaces of EdgeSegment in org.goplanit.utils.network.virtual Modifier and Type Interface Description interface
ConjugateConnectoidSegment
Conjugate connectoid segment represents a directional virtual segment connecting two conjugate connectoid nodes, however, one is a dummy and one of the original underlying link segments is null.interface
ConnectoidSegment
Connectoid segment represents a directional virtual segment connecting a centroid and a physical node.Methods in org.goplanit.utils.network.virtual with parameters of type EdgeSegment Modifier and Type Method Description ConjugateConnectoidSegment
ConjugateConnectoidEdge. registerEdgeSegment(EdgeSegment edgeSegment, boolean directionAB, boolean force)
Register EdgeSegment. -
Uses of EdgeSegment in org.goplanit.utils.path
Methods in org.goplanit.utils.path that return EdgeSegment Modifier and Type Method Description EdgeSegment
SimpleDirectedPath. getFirstSegment()
Collect first segment on pathEdgeSegment
SimpleDirectedPath. getLastSegment()
Collect last segment on pathMethod parameters in org.goplanit.utils.path with type arguments of type EdgeSegment Modifier and Type Method Description boolean
SimpleDirectedPath. containsSubPath(Collection<? extends EdgeSegment> subPath)
Verify if the path contains the provided subpath.boolean
SimpleDirectedPath. containsSubPath(Iterator<? extends EdgeSegment> subPath)
Verify if the path contains the provided subpath.T
DirectedPathFactory. createNew(Deque<? extends EdgeSegment> edgeSegments)
Create new pathManagedDirectedPath
ManagedDirectedPathFactory. createNew(Deque<? extends EdgeSegment> edgeSegments)
Create new pathstatic String
PathUtils. getEdgeSegmentPathString(ManagedDirectedPath path, Function<EdgeSegment,Object> idGetter)
Returns the path as a String of comma-separated edge segment Id or external Id valuesManagedDirectedPath
ContainerisedDirectedPathFactory. registerNew(Deque<? extends EdgeSegment> edgeSegments)
Create new path based on the provided edge segments
-