Interface RoadConnection
-
- All Superinterfaces:
Comparable<GraphPoint<RoadConnection,RoadSegment>>
,GraphPoint<RoadConnection,RoadSegment>
- All Known Implementing Classes:
AbstractWrapRoadConnection
,ExclusionRoadConnection
,RoadAStar.VirtualPoint
,RoadConnectionWithArrivalSegment
,StandardRoadConnection
,SubRoadNetwork.AbstractWrapConnection
,SubRoadNetwork.TerminalConnection
,SubRoadNetwork.WrapConnection
public interface RoadConnection extends GraphPoint<RoadConnection,RoadSegment>
This class represents the connection point inside a road network.A RoadConnection is a point that permits to link several roads. Two RoadConnections are assumed to be the same if they have the same position.
- 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 Modifier and Type Interface Description static class
RoadConnection.ClockwiseBoundType
Describes the type of treatment for the bounds of a (counter)clockwise iterator on the segments.-
Nested classes/interfaces inherited from interface org.arakhne.afc.math.graph.GraphPoint
GraphPoint.GraphPointConnection<PT extends GraphPoint<PT,ST>,ST extends GraphSegment<ST,PT>>
-
-
Field Summary
Fields Modifier and Type Field Description static RoadConnection.ClockwiseBoundType
DEFAULT_CLOCKWHISE_TYPE
When traversing a road connection, the iterator replies both bounds of the connected segment list.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
compareTo(Point2D<?,?> pts)
Compares this object with the specified point for order.RoadSegment
getConnectedSegment(int index)
Replies the connected segment at the specified index.int
getConnectedSegmentCount()
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.GeoLocationPoint
getGeoLocation()
Replies the geographic coordinates of this road connection.RoadSegment
getOtherSideSegment(RoadSegment refSegment)
Replies the other segment also connected to this point.Point2d
getPoint()
Replies the coordinates of this road connection.UUID
getUUID()
Replies an unique identifier for element.RoadConnection
getWrappedRoadConnection()
Replies the wrapped road connection if this object is a wrapper to another road connection.boolean
isConnectedSegment(RoadSegment segment)
Replies if the specified segment was connected to this point.boolean
isEmpty()
Replies if this connection has no connected segment.boolean
isFinalConnectionPoint()
Replies if this point is a final connection point ie, a point connected to only one segment.boolean
isNearPoint(Point2D<?,?> point)
Replies if the specified point is near this connection point.boolean
isReallyCulDeSac()
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.-
Methods inherited from interface java.lang.Comparable
compareTo
-
Methods inherited from interface org.arakhne.afc.math.graph.GraphPoint
getConnectedSegmentsStartingFromInReverseOrder, getConnections, getConnectionsStartingFrom, getConnectionsStartingFromInReverseOrder
-
-
-
-
Field Detail
-
DEFAULT_CLOCKWHISE_TYPE
static final RoadConnection.ClockwiseBoundType DEFAULT_CLOCKWHISE_TYPE
When traversing a road connection, the iterator replies both bounds of the connected segment list.
-
-
Method Detail
-
compareTo
@Pure int compareTo(Point2D<?,?> pts)
Compares 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.- 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.
-
getUUID
@Pure UUID getUUID()
Replies an unique identifier for element.A Unique IDentifier (UID) must be unique for all the object instances.
- Returns:
- the identifier
-
isNearPoint
@Pure boolean isNearPoint(Point2D<?,?> point)
Replies if the specified point is near this connection point.- Parameters:
point
- is the point to test- Returns:
true
if the point is near this connection, otherwise false.
-
getPoint
@Pure Point2d getPoint()
Replies the coordinates of this road connection.- Returns:
- the coordinates of this road connection.
-
getGeoLocation
@Pure GeoLocationPoint getGeoLocation()
Replies the geographic coordinates of this road connection.- Returns:
- the geographic coordinates of this road connection.
-
getConnectedSegmentCount
@Pure int getConnectedSegmentCount()
Description copied from interface:GraphPoint
Replies the count of segments connected to this point.- Specified by:
getConnectedSegmentCount
in interfaceGraphPoint<RoadConnection,RoadSegment>
- Returns:
- the count of segments connected to this point.
-
getConnectedSegment
@Pure RoadSegment getConnectedSegment(int index) throws ArrayIndexOutOfBoundsException
Replies the connected segment at the specified index.- Parameters:
index
- is the index of the segment to remove.- Returns:
- the connected segment at the given index
- Throws:
ArrayIndexOutOfBoundsException
- in case of error.
-
getConnectedSegments
@Pure Iterable<RoadSegment> getConnectedSegments()
Description copied from interface:GraphPoint
Replies the list of segments connected to this point.- Specified by:
getConnectedSegments
in interfaceGraphPoint<RoadConnection,RoadSegment>
- Returns:
- the list of segments connected to this point.
-
getConnectedSegmentsStartingFrom
@Pure Iterable<RoadSegment> getConnectedSegmentsStartingFrom(RoadSegment startingSegment)
Description copied from interface:GraphPoint
Replies 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:
getConnectedSegmentsStartingFrom
in interfaceGraphPoint<RoadConnection,RoadSegment>
- Parameters:
startingSegment
- the startint point.- Returns:
- the list of segments connected to this point.
-
isConnectedSegment
@Pure boolean isConnectedSegment(RoadSegment segment)
Description copied from interface:GraphPoint
Replies if the specified segment was connected to this point.- Specified by:
isConnectedSegment
in interfaceGraphPoint<RoadConnection,RoadSegment>
- Parameters:
segment
- the starting point.- Returns:
true
if the given segment is connected to this node, otherwisefalse
-
isFinalConnectionPoint
@Pure boolean isFinalConnectionPoint()
Replies if this point is a final connection point ie, a point connected to only one segment.The difference between
isReallyCulDeSac()
andisFinalConnectionPoint()
is on the treatement of sub-road-network elements.isFinalConnectionPoint()
takes into account only the current (sub)-road network.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 true
true
true n false n/a false
false
true 1 true 1 true
true
true n true 1 true
false
true n true m<=n false
false
- Specified by:
isFinalConnectionPoint
in interfaceGraphPoint<RoadConnection,RoadSegment>
- Returns:
true
if zero or one segment was connected to this point, otherwisefalse
- See Also:
isReallyCulDeSac()
-
isReallyCulDeSac
@Pure boolean isReallyCulDeSac()
Replies if this point is a cul-de-sac.The difference between
isReallyCulDeSac()
andisFinalConnectionPoint()
is on the treatement of sub-road-network elements.isFinalConnectionPoint()
takes into account only the current (sub)-road network.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 true
true
true n false n/a false
false
true 1 true 1 true
true
true n true 1 true
false
true n true m<=n false
false
- Returns:
true
if zero or one segment was connected to this point, otherwisefalse
- See Also:
isFinalConnectionPoint()
-
isEmpty
@Pure boolean isEmpty()
Replies if this connection has no connected segment.- Returns:
true
if this object has no connected segment, otherwisefalse
-
getOtherSideSegment
@Pure RoadSegment getOtherSideSegment(RoadSegment refSegment)
Replies the other segment also connected to this point. If more than 2 segments were connected to this point, this function repliesnull
.- 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
.
-
toCounterclockwiseIterator
@Pure 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.This function assumes a
CoordinateSystemConstants.GIS_2D
- Parameters:
startSegment
- is the first segment to iterate.endSegment
- is the last segment to iterate.- Returns:
- the iterator on segments.
-
toCounterclockwiseIterator
@Pure 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.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
- 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
@Pure 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.This function assumes a
CoordinateSystemConstants.GIS_2D
- 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
@Pure 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.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
- 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
@Pure Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment)
Replies 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
- Parameters:
startSegment
- is the first segment to iterate.- Returns:
- an iterable data structure.
-
toCounterclockwiseIterator
@Pure Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType)
Replies 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
- 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
@Pure 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.- 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
@Pure 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.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
.- 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
@Pure 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.- 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
@Pure 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.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.
- 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
@Pure Iterator<RoadSegment> toCounterclockwiseIterator(RoadSegment startSegment, CoordinateSystem2D system)
Replies 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.- 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
@Pure 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.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.
- 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.
-
toClockwiseIterator
@Pure 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.This function assumes a
CoordinateSystemConstants.GIS_2D
- Parameters:
startSegment
- is the first segment to iterate.endSegment
- is the last segment to iterate.- Returns:
- the iterator on segments.
-
toClockwiseIterator
@Pure 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.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
- 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
@Pure 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.This function assumes a
CoordinateSystemConstants.GIS_2D
- 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
@Pure 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.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
- 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
@Pure Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment)
Replies 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
- Parameters:
startSegment
- is the first segment to iterate.- Returns:
- an iterable data structure.
-
toClockwiseIterator
@Pure Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, RoadConnection.ClockwiseBoundType boundType)
Replies 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
- 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
@Pure 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.- 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
@Pure 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.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
.- 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
@Pure 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.- 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
@Pure 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.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.
- 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
@Pure Iterator<RoadSegment> toClockwiseIterator(RoadSegment startSegment, CoordinateSystem2D system)
Replies 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.- 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
@Pure 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.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.
- 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.
-
getWrappedRoadConnection
@Pure RoadConnection getWrappedRoadConnection()
Replies 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.- Returns:
- the wrapped road connection or this road connection itself.
- Since:
- 4.0
-
-