Class Router
A router implementation encapsulating basic routing functionalities.
Inherited Members
Namespace: System.Dynamic.ExpandoObject
Assembly: cs.temp.dll.dll
Syntax
public sealed class Router : RouterBaseConstructors
Router(RouterDb)
Properties
CreateCustomResolver
Gets or sets the delegate to create a custom resolver.
Declaration
public IResolveExtensions.CreateResolver CreateCustomResolver { get; set; }Property Value
| IResolveExtensions.CreateResolver 
 | 
CustomRouteBuilder
Gets or sets the custom route builder.
Declaration
public IRouteBuilder CustomRouteBuilder { get; set; }Property Value
| IRouteBuilder 
 | 
Db
Gets the db.
Declaration
public override sealed RouterDb Db { get; }Property Value
| RouterDb 
 | 
Overrides
ResolverCache
Gets or sets the resolver cache.
Declaration
public IResolverCache ResolverCache { get; set; }Property Value
| IResolverCache 
 | 
Methods
BuildRoute<T>(IProfileInstance, WeightHandler<T>, RouterPoint, RouterPoint, EdgePath<T>, CancellationToken)
Builds a route.
Declaration
public override sealed Result<Route> BuildRoute<T>(IProfileInstance profileInstance, WeightHandler<T> weightHandler, RouterPoint source, RouterPoint target, EdgePath<T> path, CancellationToken cancellationToken)where T : structParameters
| IProfileInstance
        profileInstance 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| RouterPoint
        source 
 | 
| RouterPoint
        target 
 | 
| EdgePath<T>
        path 
 | 
| CancellationToken
        cancellationToken 
 | 
Returns
| Result<Route> 
 | 
Type Parameters
| T 
 | 
Overrides
TryCalculateRaw<T>(IProfileInstance, WeightHandler<T>, RouterPoint, RouterPoint, RoutingSettings<T>, CancellationToken)
Calculates a route between the two locations.
Declaration
public override sealed Result<EdgePath<T>> TryCalculateRaw<T>(IProfileInstance profileInstance, WeightHandler<T> weightHandler, RouterPoint source, RouterPoint target, RoutingSettings<T> settings, CancellationToken cancellationToken)where T : structParameters
| IProfileInstance
        profileInstance 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| RouterPoint
        source 
 | 
| RouterPoint
        target 
 | 
| RoutingSettings<T>
        settings 
 | 
| CancellationToken
        cancellationToken 
 | 
Returns
| Result<EdgePath<T>> 
 | 
Type Parameters
| T 
 | 
Overrides
TryCalculateRaw<T>(IProfileInstance, WeightHandler<T>, RouterPoint, Nullable<Boolean>, RouterPoint, Nullable<Boolean>, RoutingSettings<T>, CancellationToken)
Calculates a route between the two directed edges. The route starts in the direction of the edge and ends with an arrive in the direction of the target edge.
Declaration
public override sealed Result<EdgePath<T>> TryCalculateRaw<T>(IProfileInstance profileInstance, WeightHandler<T> weightHandler, RouterPoint source, bool ? sourceForward, RouterPoint target, bool ? targetForward, RoutingSettings<T> settings, CancellationToken cancellationToken)where T : structParameters
| IProfileInstance
        profileInstance 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| RouterPoint
        source 
 | 
| System.Nullable<System.Boolean>
        sourceForward 
 | 
| RouterPoint
        target 
 | 
| System.Nullable<System.Boolean>
        targetForward 
 | 
| RoutingSettings<T>
        settings 
 | 
| CancellationToken
        cancellationToken 
 | 
Returns
| Result<EdgePath<T>> 
 | 
Type Parameters
| T 
 | 
Overrides
TryCalculateRaw<T>(IProfileInstance, WeightHandler<T>, RouterPoint[], RouterPoint[], RoutingSettings<T>, CancellationToken)
Calculates all routes between all sources and all targets.
Declaration
public override sealed Result<EdgePath<T>[][]> TryCalculateRaw<T>(IProfileInstance profileInstance, WeightHandler<T> weightHandler, RouterPoint[] sources, RouterPoint[] targets, RoutingSettings<T> settings, CancellationToken cancellationToken)where T : structParameters
| IProfileInstance
        profileInstance 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| RouterPoint[]
        sources 
 | 
| RouterPoint[]
        targets 
 | 
| RoutingSettings<T>
        settings 
 | 
| CancellationToken
        cancellationToken 
 | 
Returns
| Result<EdgePath<T>[][]> 
 | 
Type Parameters
| T 
 | 
Overrides
TryCalculateRaw<T>(IProfileInstance, WeightHandler<T>, Int64, Int64, RoutingSettings<T>, CancellationToken)
Calculates a route between the two directed edges. The route starts in the direction of the edge and ends with an arrive in the direction of the target edge.
Declaration
public override sealed Result<EdgePath<T>> TryCalculateRaw<T>(IProfileInstance profileInstance, WeightHandler<T> weightHandler, long sourceDirectedEdge, long targetDirectedEdge, RoutingSettings<T> settings, CancellationToken cancellationToken)where T : structParameters
| IProfileInstance
        profileInstance 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| System.Int64
        sourceDirectedEdge 
 | 
| System.Int64
        targetDirectedEdge 
 | 
| RoutingSettings<T>
        settings 
 | 
| CancellationToken
        cancellationToken 
 | 
Returns
| Result<EdgePath<T>> 
 | 
Type Parameters
| T 
 | 
Overrides
TryCalculateWeight<T>(IProfileInstance, WeightHandler<T>, RouterPoint[], RouterPoint[], ISet<Int32>, ISet<Int32>, RoutingSettings<T>, CancellationToken)
Calculates all routes between all sources and all targets.
Declaration
public override sealed Result<T[][]> TryCalculateWeight<T>(IProfileInstance profileInstance, WeightHandler<T> weightHandler, RouterPoint[] sources, RouterPoint[] targets, ISet<int> invalidSources, ISet<int> invalidTargets, RoutingSettings<T> settings, CancellationToken cancellationToken)where T : structParameters
| IProfileInstance
        profileInstance 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| RouterPoint[]
        sources 
 | 
| RouterPoint[]
        targets 
 | 
| ISet<System.Int32>
        invalidSources 
 | 
| ISet<System.Int32>
        invalidTargets 
 | 
| RoutingSettings<T>
        settings 
 | 
| CancellationToken
        cancellationToken 
 | 
Returns
| Result<T[][]> 
 | 
Type Parameters
| T 
 | 
Overrides
TryCheckConnectivity(IProfileInstance, RouterPoint, Single, Nullable<Boolean>, CancellationToken)
Checks if the given point is connected to the rest of the network. Use this to detect points on routing islands.
Declaration
public override sealed Result<bool> TryCheckConnectivity(IProfileInstance profileInstance, RouterPoint point, float radiusInMeter, bool ? forward, CancellationToken cancellationToken)Parameters
| IProfileInstance
        profileInstance 
 | 
| RouterPoint
        point 
 | 
| System.Single
        radiusInMeter The radius metric, that's always a distance in meters. | 
| System.Nullable<System.Boolean>
        forward 
 | 
| CancellationToken
        cancellationToken 
 | 
Returns
| Result<System.Boolean> 
 | 
Overrides
TryResolve(IProfileInstance[], Single, Single, Func<RoutingEdge, Boolean>, Single, ResolveSettings, CancellationToken)
Searches for the closest point on the routing network that's routable for the given profiles.
Declaration
public override sealed Result<RouterPoint> TryResolve(IProfileInstance[] profileInstances, float latitude, float longitude, Func<RoutingEdge, bool> isBetter, float maxSearchDistance, ResolveSettings settings, CancellationToken cancellationToken)Parameters
| IProfileInstance[]
        profileInstances 
 | 
| System.Single
        latitude 
 | 
| System.Single
        longitude 
 | 
| Func<RoutingEdge, System.Boolean>
        isBetter 
 | 
| System.Single
        maxSearchDistance 
 | 
| ResolveSettings
        settings 
 | 
| CancellationToken
        cancellationToken 
 | 
Returns
| Result<RouterPoint> 
 |