Package-level declarations

Types

Link copied to clipboard
class DistanceWeighted<T>(environment: Euclidean2DEnvironment<T>, node: Node<T>, defaultWeight: Double = 1.0) : Weighted<T>

Weighted strategy where the weight of each steering action is the inverse of the node's distance from the action's target (the closer the target, the more important the action). defaultWeight is used for actions without a target.

Link copied to clipboard
open class Filtered<T, P : Position<P>, Vector<P>>(steerStrategy: SteeringStrategy<T, P>, filter: List<SteeringAction<T, P>>.() -> List<SteeringAction<T, P>>) : SteeringStrategy<T, P>

SteeringStrategy decorator applying a filter to the list of steering actions (see computeNextPosition).

Link copied to clipboard
class Nearest<T>(environment: Euclidean2DEnvironment<T>, node: Node<T>) : Filtered<T, Euclidean2DPosition>

Filtered strategy considering only the group steering action and the non-group steering action whose targets are nearest to the node's position. The two actions are combined using DistanceWeighted strategy.

Link copied to clipboard
class SinglePrevalent<T, N : ConvexPolygon>(environment: Euclidean2DEnvironmentWithGraph<*, T, N, *>, node: Node<T>, prevalent: SteeringActions<T>.() -> NavigationAction2D<T, *, *, N, *>, toleranceAngle: Double = DEFAULT_TOLERANCE_ANGLE, alpha: Double = DEFAULT_ALPHA, maxWalk: () -> Double, maxWalkRatio: Double = DEFAULT_MAX_WALK_RATIO, delta: Double = DEFAULT_DELTA) : Weighted<T>

A SteeringStrategy in which one action is prevalent. Only NavigationActions can be prevalent, because they guarantee to navigate the environment consciously (e.g. without getting stuck in obstacles). The purpose of this strategy is to linearly combine the potentially contrasting forces to which the node is subject, while maintaining that warranty. Such forces are combined as follows: let f be the prevalent force,

Link copied to clipboard

A PhysicalSteeringStrategy performing a simple sum of the overall intentional force and the physical ones.

Link copied to clipboard
class TypeBased<T>(environment: Euclidean2DEnvironment<T>, node: Node<T>, typeWeights: LinkedHashMap<KClass<SteeringAction<T, Euclidean2DPosition>>, Double>, defaultWeight: Double = 0.0) : Weighted<T>

A Weighted steering strategy assigning weights based on actions' types (each type has its own weight, specified by the client).

Link copied to clipboard

A SteeringStrategy performing a weighted sum of steering actions (see computeNextPosition).