Class ConnectIfInLineOfSigthOnMap
-
- All Implemented Interfaces:
-
it.unibo.alchemist.model.LinkingRule
,java.io.Serializable
public final class ConnectIfInLineOfSigthOnMap<T extends Object> extends AbstractLocallyConsistentLinkingRule<T, GeoPosition>
This rule connects nodes that are within maxRange distance, but only if there are not too many obstacles separating their line of sight. The base idea is that line-of-sight distance and routing distance should not differ "too much", as captured by tolerance. tolerance measures the maximum allowed relative difference between the line-of-sight and the route distance. It's default 0.1 (10%) means that if LOS-distance is more than 10% shorter than route-distance, then the nodes are considered disconnected. Route distance is taken two-ways (to account for one-way roads) and the shortest one is considered (wireless signals do not need to follow one-way roads).
-
-
Constructor Summary
Constructors Constructor Description ConnectIfInLineOfSigthOnMap(Double maxRange, Double tolerance)
ConnectIfInLineOfSigthOnMap(Double maxRange)
-
Method Summary
Modifier and Type Method Description final Double
getMaxRange()
final Double
getTolerance()
Neighborhood<T>
computeNeighborhood(Node<T> center, Environment<T, GeoPosition> environment)
-
-
Method Detail
-
getMaxRange
final Double getMaxRange()
-
getTolerance
final Double getTolerance()
-
computeNeighborhood
Neighborhood<T> computeNeighborhood(Node<T> center, Environment<T, GeoPosition> environment)
-
-
-
-