Class RoadAStar.VirtualPoint
- java.lang.Object
-
- org.arakhne.afc.gis.road.path.astar.RoadAStar.VirtualPoint
-
- All Implemented Interfaces:
Comparable<GraphPoint<RoadConnection,RoadSegment>>,RoadConnection,GraphPoint<RoadConnection,RoadSegment>
- Enclosing class:
- RoadAStar
static class RoadAStar.VirtualPoint extends Object implements RoadConnection
This virtual point corresponds to a virtual graph connection point that could be the start or the end of the A* search.- Since:
- 14.0
- Version:
- 17.0 2020-01-04 14:41:55
- Author:
- Stéphane GALLAND
- Maven Group Id:
- org.arakhne.afc.gis
- Maven Artifact Id:
- gisroad
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.arakhne.afc.math.graph.GraphPoint
GraphPoint.GraphPointConnection<PT extends GraphPoint<PT,ST>,ST extends GraphSegment<ST,PT>>
-
Nested classes/interfaces inherited from interface org.arakhne.afc.gis.road.primitive.RoadConnection
RoadConnection.ClockwiseBoundType
-
-
Field Summary
-
Fields inherited from interface org.arakhne.afc.gis.road.primitive.RoadConnection
DEFAULT_CLOCKWHISE_TYPE
-
-
Constructor Summary
Constructors Constructor Description VirtualPoint(Point2D<?,?> p2d, RoadSegment segment)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(Point2D<?,?> pts)Compares this object with the specified point for order.intcompareTo(GraphPoint<RoadConnection,RoadSegment> other)RoadSegmentgetConnectedSegment(int index)Replies the connected segment at the specified index.intgetConnectedSegmentCount()Replies the count of segments connected to this point.Iterable<RoadSegment>getConnectedSegments()Replies the list of segments connected to this point.Iterable<RoadSegment>getConnectedSegmentsStartingFrom(RoadSegment startingSegment)Replies the list of segments connected to this point.Iterable<RoadSegment>getConnectedSegmentsStartingFromInReverseOrder(RoadSegment startingSegment)Replies the list of segments connected to this point in reverse order.Iterable<? extends GraphPoint.GraphPointConnection<RoadConnection,RoadSegment>>getConnections()Replies the list of segment connections for this point.Iterable<? extends GraphPoint.GraphPointConnection<RoadConnection,RoadSegment>>getConnectionsStartingFrom(RoadSegment startingPoint)Replies the list of segment connections for this point.Iterable<? extends GraphPoint.GraphPointConnection<RoadConnection,RoadSegment>>getConnectionsStartingFromInReverseOrder(RoadSegment startingPoint)Replies the list of segment connections for this point in reverse order.GeoLocationPointgetGeoLocation()Replies the geographic coordinates of this road connection.RoadSegmentgetOtherSideSegment(RoadSegment refSegment)Replies the other segment also connected to this point.Point2dgetPoint()Replies the coordinates of this road connection.UUIDgetUUID()Replies an unique identifier for element.RoadSegmentgetVirtualizedSegment()Replies the virtualized segment.RoadConnectiongetWrappedRoadConnection()Replies the wrapped road connection if this object is a wrapper to another road connection.booleanisConnectedSegment(RoadSegment segment)Replies if the specified segment was connected to this point.booleanisEmpty()Replies if this connection has no connected segment.booleanisFinalConnectionPoint()Replies if this point is a final connection point ie, a point connected to only one segment.booleanisNearPoint(Point2D<?,?> point)Replies if the specified point is near this connection point.booleanisReallyCulDeSac()Replies if this point is a cul-de-sac.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment)Replies an iterator which loop on the segment in a clockwise order from the specified segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart)Replies an iterator which loop on the segment in a clockwise order from the specified start segment to the specified end segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, RoadConnection.ClockwiseBoundType boundType)Replies an iterator which loop on the segment in a clockwise order from the specified start segment to the specified end segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)Replies an iterator which loop on the segment in a clockwise order from the specified start segment to the specified end segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, CoordinateSystem2D system)Replies an iterator which loop on the segment in a clockwise order from the specified start segment to the specified end segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType)Replies an iterator which loop on the segment in a clockwise order from the specified segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)Replies an iterator which loop on the segment in a clockwise order from the specified segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, RoadSegment endSegment)Replies an iterator which loop on the segment in a clockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, RoadConnection.ClockwiseBoundType boundType)Replies an iterator which loop on the segment in a clockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)Replies an iterator which loop on the segment in a clockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, CoordinateSystem2D system)Replies an iterator which loop on the segment in a clockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.Iterator<RoadSegment>toClockwiseIterator(RoadSegment startSegment, CoordinateSystem2D system)Replies an iterator which loop on the segment in a clockwise order from the specified segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment)Replies an iterator which loop on the segment in a counterclockwise order from the specified segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart)Replies an iterator which loop on the segment in a counterclockwise order from the specified start segment to the specified end segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, RoadConnection.ClockwiseBoundType boundType)Replies an iterator which loop on the segment in a counterclockwise order from the specified start segment to the specified end segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)Replies an iterator which loop on the segment in a counterclockwise order from the specified start segment to the specified end segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, CoordinateSystem2D system)Replies an iterator which loop on the segment in a counterclockwise order from the specified start segment to the specified end segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType)Replies an iterator which loop on the segment in a counterclockwise order from the specified segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)Replies an iterator which loop on the segment in a counterclockwise order from the specified segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, RoadSegment endSegment)Replies an iterator which loop on the segment in a counterclockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, RoadConnection.ClockwiseBoundType boundType)Replies an iterator which loop on the segment in a counterclockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)Replies an iterator which loop on the segment in a counterclockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, CoordinateSystem2D system)Replies an iterator which loop on the segment in a counterclockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.Iterator<RoadSegment>toCounterclockwiseIterator(RoadSegment startSegment, CoordinateSystem2D system)Replies an iterator which loop on the segment in a counterclockwise order from the specified segment.StringtoString()
-
-
-
Constructor Detail
-
VirtualPoint
VirtualPoint(Point2D<?,?> p2d, RoadSegment segment)
Constructor.- Parameters:
p2d- the point.segment- the segment.
-
-
Method Detail
-
getVirtualizedSegment
public RoadSegment getVirtualizedSegment()
Replies the virtualized segment.- Returns:
- the virtualized segment.
-
getWrappedRoadConnection
public final RoadConnection getWrappedRoadConnection()
Description copied from interface:RoadConnectionReplies the wrapped road connection if this object is a wrapper to another road connection. If this object is not a wrapper to another road connection, relies this object iteself.- Specified by:
getWrappedRoadConnectionin interfaceRoadConnection- Returns:
- the wrapped road connection or this road connection itself.
-
compareTo
public int compareTo(GraphPoint<RoadConnection,RoadSegment> other)
- Specified by:
compareToin interfaceComparable<GraphPoint<RoadConnection,RoadSegment>>
-
compareTo
public int compareTo(Point2D<?,?> pts)
Description copied from interface:RoadConnectionCompares this object with the specified point for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified point.- Specified by:
compareToin interfaceRoadConnection- Parameters:
pts- is the object to be compared.- Returns:
- a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified point.
-
getConnectedSegment
public RoadSegment getConnectedSegment(int index) throws ArrayIndexOutOfBoundsException
Description copied from interface:RoadConnectionReplies the connected segment at the specified index.- Specified by:
getConnectedSegmentin interfaceRoadConnection- Parameters:
index- is the index of the segment to remove.- Returns:
- the connected segment at the given index
- Throws:
ArrayIndexOutOfBoundsException- in case of error.
-
getConnectedSegmentCount
public int getConnectedSegmentCount()
Description copied from interface:GraphPointReplies the count of segments connected to this point.- Specified by:
getConnectedSegmentCountin interfaceGraphPoint<RoadConnection,RoadSegment>- Specified by:
getConnectedSegmentCountin interfaceRoadConnection- Returns:
- the count of segments connected to this point.
-
getConnectedSegments
public Iterable<RoadSegment> getConnectedSegments()
Description copied from interface:GraphPointReplies the list of segments connected to this point.- Specified by:
getConnectedSegmentsin interfaceGraphPoint<RoadConnection,RoadSegment>- Specified by:
getConnectedSegmentsin interfaceRoadConnection- Returns:
- the list of segments connected to this point.
-
getConnectedSegmentsStartingFrom
public Iterable<RoadSegment> getConnectedSegmentsStartingFrom(RoadSegment startingSegment)
Description copied from interface:GraphPointReplies the list of segments connected to this point.If the graph point implementation is supporting an ordered list of segment, it will reply the segments starting from the given segment. If the implementation does not support any order, it will reply the same as
GraphPoint.getConnectedSegments().- Specified by:
getConnectedSegmentsStartingFromin interfaceGraphPoint<RoadConnection,RoadSegment>- Specified by:
getConnectedSegmentsStartingFromin interfaceRoadConnection- Parameters:
startingSegment- the startint point.- Returns:
- the list of segments connected to this point.
-
getConnectedSegmentsStartingFromInReverseOrder
public Iterable<RoadSegment> getConnectedSegmentsStartingFromInReverseOrder(RoadSegment startingSegment)
Description copied from interface:GraphPointReplies the list of segments connected to this point in reverse order.If the graph point implementation is supporting an ordered list of segment, it will reply the segments starting from the given segment. If the implementation does not support any order, it will reply the same as
GraphPoint.getConnectedSegments()in reverse order.- Specified by:
getConnectedSegmentsStartingFromInReverseOrderin interfaceGraphPoint<RoadConnection,RoadSegment>- Parameters:
startingSegment- the startint segment.- Returns:
- the list of segments connected to this point.
-
getOtherSideSegment
public RoadSegment getOtherSideSegment(RoadSegment refSegment)
Description copied from interface:RoadConnectionReplies the other segment also connected to this point. If more than 2 segments were connected to this point, this function repliesnull.- Specified by:
getOtherSideSegmentin interfaceRoadConnection- Parameters:
refSegment- the segment.- Returns:
- the first segment if ref_segment was the second one.
the second segment if ref_segment was the first one.
otherwise
null.
-
getPoint
public Point2d getPoint()
Description copied from interface:RoadConnectionReplies the coordinates of this road connection.- Specified by:
getPointin interfaceRoadConnection- Returns:
- the coordinates of this road connection.
-
getGeoLocation
public GeoLocationPoint getGeoLocation()
Description copied from interface:RoadConnectionReplies the geographic coordinates of this road connection.- Specified by:
getGeoLocationin interfaceRoadConnection- Returns:
- the geographic coordinates of this road connection.
-
getUUID
public UUID getUUID()
Description copied from interface:RoadConnectionReplies an unique identifier for element.A Unique IDentifier (UID) must be unique for all the object instances.
- Specified by:
getUUIDin interfaceRoadConnection- Returns:
- the identifier
-
isConnectedSegment
public boolean isConnectedSegment(RoadSegment segment)
Description copied from interface:GraphPointReplies if the specified segment was connected to this point.- Specified by:
isConnectedSegmentin interfaceGraphPoint<RoadConnection,RoadSegment>- Specified by:
isConnectedSegmentin interfaceRoadConnection- Parameters:
segment- the starting point.- Returns:
trueif the given segment is connected to this node, otherwisefalse
-
isEmpty
public boolean isEmpty()
Description copied from interface:RoadConnectionReplies if this connection has no connected segment.- Specified by:
isEmptyin interfaceRoadConnection- Returns:
trueif this object has no connected segment, otherwisefalse
-
isFinalConnectionPoint
public boolean isFinalConnectionPoint()
Description copied from interface:RoadConnectionReplies if this point is a final connection point ie, a point connected to only one segment.The difference between
RoadConnection.isReallyCulDeSac()andRoadConnection.isFinalConnectionPoint()is on the treatement of sub-road-network elements.RoadConnection.isFinalConnectionPoint()takes into account only the current (sub)-road network.RoadConnection.isReallyCulDeSac()takes into account only the top-most road network element. See the following table for details:Inside RoadNetwork # Connected Segments at Top-Level Inside SubRoadNetwork # Connected Segments at Lower-Level isFinalConnectionPoint isReallyCulDeSac true 1 false n/a truetruetrue n false n/a falsefalsetrue 1 true 1 truetruetrue n true 1 truefalsetrue n true m<=n falsefalse- Specified by:
isFinalConnectionPointin interfaceGraphPoint<RoadConnection,RoadSegment>- Specified by:
isFinalConnectionPointin interfaceRoadConnection- Returns:
trueif zero or one segment was connected to this point, otherwisefalse- See Also:
RoadConnection.isReallyCulDeSac()
-
isNearPoint
public boolean isNearPoint(Point2D<?,?> point)
Description copied from interface:RoadConnectionReplies if the specified point is near this connection point.- Specified by:
isNearPointin interfaceRoadConnection- Parameters:
point- is the point to test- Returns:
trueif the point is near this connection, otherwise false.
-
isReallyCulDeSac
public boolean isReallyCulDeSac()
Description copied from interface:RoadConnectionReplies if this point is a cul-de-sac.The difference between
RoadConnection.isReallyCulDeSac()andRoadConnection.isFinalConnectionPoint()is on the treatement of sub-road-network elements.RoadConnection.isFinalConnectionPoint()takes into account only the current (sub)-road network.RoadConnection.isReallyCulDeSac()takes into account only the top-most road network element. See the following table for details:Inside RoadNetwork # Connected Segments at Top-Level Inside SubRoadNetwork # Connected Segments at Lower-Level isFinalConnectionPoint isReallyCulDeSac true 1 false n/a truetruetrue n false n/a falsefalsetrue 1 true 1 truetruetrue n true 1 truefalsetrue n true m<=n falsefalse- Specified by:
isReallyCulDeSacin interfaceRoadConnection- Returns:
trueif zero or one segment was connected to this point, otherwisefalse- See Also:
RoadConnection.isFinalConnectionPoint()
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, RoadSegment endSegment)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.endSegment- is the last segment to iterate.- Returns:
- the iterator on segments.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the specified start segment to the specified end segment.This function assumes that startSegmentConnectedByItsStart and endSegmentConnectedByItsStart parameters indicates how the segments should be connected. These values are useful to indicates how to iterate when the segment is connected to this RoadConnexion by its two ends. The semantics of the these values are:
true, the segment will be replied by the iterator when its start point will be found in the list;false, the segment will be replied by the iterator when its end point will be found in the list;null, the segment will be replied when it will be found at the first time in the list.
The first segment replied by this function will be the startSegment or the second segment from the list, according to the
default clockwhise type. The last segment replied by this function will be the endSegment or the antepenulvian segment from the list, according to thedefault clockwhise type.This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate (inclusive).startSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.endSegment- is the last segment to iterate (inclusive).endSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.- Returns:
- the iterator on segments.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, RoadConnection.ClockwiseBoundType boundType)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.endSegment- is the last segment to iterate.boundType- indicates if the two given segments will be included into the iterated segment set.- Returns:
- the iterator on segments.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, RoadConnection.ClockwiseBoundType boundType)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the specified start segment to the specified end segment.This function assumes that startSegmentConnectedByItsStart and endSegmentConnectedByItsStart parameters indicates how the segments should be connected. These values are useful to indicates how to iterate when the segment is connected to this RoadConnexion by its two ends. The semantics of the these values are:
true, the segment will be replied by the iterator when its start point will be found in the list;false, the segment will be replied by the iterator when its end point will be found in the list;null, the segment will be replied when it will be found at the first time in the list.
The first segment replied by this function will be the startSegment or the second segment from the list, according to bountType. The last segment replied by this function will be the endSegment or the antepenulvian segment from the list, according to bountType.
This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.startSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.endSegment- is the last segment to iterate.endSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.boundType- indicates if the two given segments will be included into the iterated segment set.- Returns:
- the iterator on segments.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the specified segment.The first segment replied by this function will be the startSegment or the second segment from the list, according to the
default clockwhise type. Assuming that the segment candidates should be replied only once time if they are all included, the startSegment will never be replied as the last segment.This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.- Returns:
- an iterable data structure.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the specified segment.The first segment replied by this function will be the startSegment or the second segment from the list, according to bountType. The last segment replied by this function will be the last or antepenulvian segment from the list, according to bountType.
This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.boundType- indicates if the two given segments will be included into the iterated segment set.- Returns:
- an iterable data structure.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.endSegment- is the last segment to iterate.system- is the 2D coordinate system used to project a clockwise circle.- Returns:
- the iterator on segments.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the specified start segment to the specified end segment.This function assumes that startSegmentConnectedByItsStart and endSegmentConnectedByItsStart parameters indicates how the segments should be connected. These values are useful to indicates how to iterate when the segment is connected to this RoadConnexion by its two ends. The semantics of the these values are:
true, the segment will be replied by the iterator when its start point will be found in the list;false, the segment will be replied by the iterator when its end point will be found in the list;null, the segment will be replied when it will be found at the first time in the list.
The first segment replied by this function will be the startSegment or the second segment from the list, according to the
default clockwhise type. The last segment replied by this function will be the endSegment or the antepenulvian segment from the list, according to thedefault clockwhise type.- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate (inclusive).startSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.endSegment- is the last segment to iterate (inclusive).endSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.system- is the 2D coordinate system used to project a clockwise circle.- Returns:
- the iterator on segments.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.endSegment- is the last segment to iterate.boundType- indicates if the two given segments will be included into the iterated segment set.system- is the 2D coordinate system used to project a clockwise circle.- Returns:
- the iterator on segments.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the specified start segment to the specified end segment.This function assumes that startSegmentConnectedByItsStart and endSegmentConnectedByItsStart parameters indicates how the segments should be connected. These values are useful to indicates how to iterate when the segment is connected to this RoadConnexion by its two ends. The semantics of the these values are:
true, the segment will be replied by the iterator when its start point will be found in the list;false, the segment will be replied by the iterator when its end point will be found in the list;null, the segment will be replied when it will be found at the first time in the list.
The first segment replied by this function will be the startSegment or the second segment from the list, according to bountType. The last segment replied by this function will be the endSegment or the antepenulvian segment from the list, according to bountType.
- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.startSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.endSegment- is the last segment to iterate.endSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.boundType- indicates if the two given segments will be included into the iterated segment set.system- is the 2D coordinate system used to project a clockwise circle.- Returns:
- the iterator on segments.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the specified segment.The first segment replied by this function will be the startSegment or the second segment from the list, according to the
default clockwhise type. Assuming that the segment candidates should be replied only once time if they are all included, the startSegment will never be replied as the last segment.- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.system- is the 2D coordinate system used to project a clockwise circle.- Returns:
- an iterable data structure.
-
toClockwiseIterator
public Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a clockwise order from the specified segment.The first segment replied by this function will be the startSegment or the second segment from the list, according to bountType. The last segment replied by this function will be the last or antepenulvian segment from the list, according to bountType.
- Specified by:
toClockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.boundType- indicates if the two given segments will be included into the iterated segment set.system- is the 2D coordinate system used to project a clockwise circle.- Returns:
- an iterable data structure.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, RoadSegment endSegment)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.endSegment- is the last segment to iterate.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the specified start segment to the specified end segment.This function assumes that startSegmentConnectedByItsStart and endSegmentConnectedByItsStart parameters indicates how the segments should be connected. These values are useful to indicates how to iterate when the segment is connected to this RoadConnexion by its two ends. The semantics of the these values are:
true, the segment will be replied by the iterator when its start point will be found in the list;false, the segment will be replied by the iterator when its end point will be found in the list;null, the segment will be replied when it will be found at the first time in the list.
The first segment replied by this function will be the startSegment or the second segment from the list, according to the
default clockwhise type. The last segment replied by this function will be the endSegment or the antepenulvian segment from the list, according to thedefault clockwhise type.This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate (inclusive).startSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.endSegment- is the last segment to iterate (inclusive).endSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, RoadConnection.ClockwiseBoundType boundType)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.endSegment- is the last segment to iterate.boundType- indicates if the two given segments will be included into the iterated segment set.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, RoadConnection.ClockwiseBoundType boundType)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the specified start segment to the specified end segment.This function assumes that startSegmentConnectedByItsStart and endSegmentConnectedByItsStart parameters indicates how the segments should be connected. These values are useful to indicates how to iterate when the segment is connected to this RoadConnexion by its two ends. The semantics of the these values are:
true, the segment will be replied by the iterator when its start point will be found in the list;false, the segment will be replied by the iterator when its end point will be found in the list;null, the segment will be replied when it will be found at the first time in the list.
The first segment replied by this function will be the startSegment or the second segment from the list, according to bountType. The last segment replied by this function will be the endSegment or the antepenulvian segment from the list, according to bountType.
This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.startSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.endSegment- is the last segment to iterate.endSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.boundType- indicates if the two given segments will be included into the iterated segment set.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the specified segment.The first segment replied by this function will be the startSegment or the second segment from the list, according to the
default clockwhise type. Assuming that the segment candidates should be replied only once time if they are all included, the startSegment will never be replied as the last segment.This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.- Returns:
- an iterable data structure.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the specified segment.The first segment replied by this function will be the startSegment or the second segment from the list, according to bountType. The last segment replied by this function will be the last or antepenulvian segment from the list, according to bountType.
This function assumes a
CoordinateSystemConstants.GIS_2D- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.boundType- indicates if the two given segments will be included into the iterated segment set.- Returns:
- an iterable data structure.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.endSegment- is the last segment to iterate.system- is the 2D coordinate system used to project a counterclockwise circle.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the specified start segment to the specified end segment.This function assumes that startSegmentConnectedByItsStart and endSegmentConnectedByItsStart parameters indicates how the segments should be connected. These values are useful to indicates how to iterate when the segment is connected to this RoadConnexion by its two ends. The semantics of the these values are:
true, the segment will be replied by the iterator when its start point will be found in the list;false, the segment will be replied by the iterator when its end point will be found in the list;null, the segment will be replied when it will be found at the first time in the list.
The first segment replied by this function will be the startSegment or the second segment from the list, according to the
default clockwhise type. The last segment replied by this function will be the endSegment or the antepenulvian segment from the list, according to thedefault clockwhise type.- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate (inclusive).startSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.endSegment- is the last segment to iterate (inclusive).endSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.system- is the 2D coordinate system used to project a counterclockwise circle.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, RoadSegment endSegment, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the first occurrence. of specified start segment to the first occurrence. of the specified end segment.- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.endSegment- is the last segment to iterate.boundType- indicates if the two given segments will be included into the iterated segment set.system- is the 2D coordinate system used to project a counterclockwise circle.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, Boolean startSegmentConnectedByItsStart, RoadSegment endSegment, Boolean endSegmentConnectedByItsStart, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the specified start segment to the specified end segment.This function assumes that startSegmentConnectedByItsStart and endSegmentConnectedByItsStart parameters indicates how the segments should be connected. These values are useful to indicates how to iterate when the segment is connected to this RoadConnexion by its two ends. The semantics of the these values are:
true, the segment will be replied by the iterator when its start point will be found in the list;false, the segment will be replied by the iterator when its end point will be found in the list;null, the segment will be replied when it will be found at the first time in the list.
The first segment replied by this function will be the startSegment or the second segment from the list, according to bountType. The last segment replied by this function will be the endSegment or the antepenulvian segment from the list, according to bountType.
- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.startSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.endSegment- is the last segment to iterate.endSegmentConnectedByItsStart- indicates if the start segment is connected by its first point.boundType- indicates if the two given segments will be included into the iterated segment set.system- is the 2D coordinate system used to project a counterclockwise circle.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the specified segment.The first segment replied by this function will be the startSegment or the second segment from the list, according to the
default clockwhise type. Assuming that the segment candidates should be replied only once time if they are all included, the startSegment will never be replied as the last segment.- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.system- is the 2D coordinate system used to project a counterclockwise circle.- Returns:
- an iterable data structure.
-
toCounterclockwiseIterator
public Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType, CoordinateSystem2D system)
Description copied from interface:RoadConnectionReplies an iterator which loop on the segment in a counterclockwise order from the specified segment.The first segment replied by this function will be the startSegment or the second segment from the list, according to bountType. The last segment replied by this function will be the last or antepenulvian segment from the list, according to bountType.
- Specified by:
toCounterclockwiseIteratorin interfaceRoadConnection- Parameters:
startSegment- is the first segment to iterate.boundType- indicates if the two given segments will be included into the iterated segment set.system- is the 2D coordinate system used to project a counterclockwise circle.- Returns:
- an iterable data structure.
-
getConnections
public Iterable<? extends GraphPoint.GraphPointConnection<RoadConnection,RoadSegment>> getConnections()
Description copied from interface:GraphPointReplies the list of segment connections for this point.- Specified by:
getConnectionsin interfaceGraphPoint<RoadConnection,RoadSegment>- Returns:
- the list of segments connected to this point.
-
getConnectionsStartingFrom
public Iterable<? extends GraphPoint.GraphPointConnection<RoadConnection,RoadSegment>> getConnectionsStartingFrom(RoadSegment startingPoint)
Description copied from interface:GraphPointReplies the list of segment connections for this point.If the graph point implementation is supporting an ordered list of segment, it will reply the segments starting from the given segment. If the implementation does not support any order, it will reply the same as
GraphPoint.getConnections().- Specified by:
getConnectionsStartingFromin interfaceGraphPoint<RoadConnection,RoadSegment>- Parameters:
startingPoint- the starting point.- Returns:
- the list of segments connected to this point.
-
getConnectionsStartingFromInReverseOrder
public Iterable<? extends GraphPoint.GraphPointConnection<RoadConnection,RoadSegment>> getConnectionsStartingFromInReverseOrder(RoadSegment startingPoint)
Description copied from interface:GraphPointReplies the list of segment connections for this point in reverse order.If the graph point implementation is supporting an ordered list of segment, it will reply the segments starting from the given segment. If the implementation does not support any order, it will reply the same as
GraphPoint.getConnections().- Specified by:
getConnectionsStartingFromInReverseOrderin interfaceGraphPoint<RoadConnection,RoadSegment>- Parameters:
startingPoint- the starting point.- Returns:
- the list of segments connected to this point.
-
-