SteeringActionWithTarget

A SteeringAction that exposes an absolute target position.

Type Parameters

T

the concentration type.

P

the Position and Vector type used by the environment.

Inheritors

Properties

Link copied to clipboard
abstract val reaction: Reaction<T>

The reaction owning this action. Its Reaction.host is the model entity hosting the action, which may differ from the node it targets, if any.

Functions

Link copied to clipboard
abstract fun cloneAction(newReaction: Reaction<T>): Action<T>

Creates an equivalent action owned by newReaction, such as a reaction cloned onto a new node. An action targeting the host of its reaction targets the host of newReaction, which must then be a Node; an action targeting any other node keeps its target.

Link copied to clipboard
abstract fun execute()

Applies this action to the model.

Link copied to clipboard
abstract fun nextPosition(): P

Returns the target relative position the owner will move to when this action is executed. The position is relative to the owner's current position.

Link copied to clipboard
infix fun Action<*>.shouldEqual(other: Action<*>)
Link copied to clipboard
abstract fun target(): P

Returns the absolute target position this action points to.

Link copied to clipboard
open fun targetDistanceTo(node: Node<T>, environment: Environment<T, P>): Double

Computes the distance between this action's target and the given node within the provided environment.