Package it.unibo.alchemist.model.interfaces

Types

Link copied to clipboard
interface Group<T> : MutableList<Node<T>>

A group of nodes.

Link copied to clipboard
interface GroupSteeringAction<T, P : Position<P>, Vector<P>> : SteeringAction<T, P>

A SteeringAction related to a group of pedestrians.

Link copied to clipboard
interface GroupWithLeader<T, N : Node<T>> : Group<T>

A group with a special member acting as a leader.

Link copied to clipboard
interface NavigationAction<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, L : ConvexGeometricShape<P, A>, R, N : ConvexGeometricShape<P, A>, E> : SteeringAction<T, P>

A SteeringAction allowing a node to navigate an environment consciously (e.g. without getting stuck in U-shaped obstacles). Names are inspired to indoor environments, but this interface works for outdoor ones as well.

Link copied to clipboard
typealias NavigationAction2D<T, L, R, N, E> = NavigationAction<T, Euclidean2DPosition, Euclidean2DTransformation, L, R, N, E>

A NavigationAction in a bidimensional euclidean space.

Link copied to clipboard
interface NavigationStrategy<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, L : ConvexGeometricShape<P, A>, R, N : ConvexGeometricShape<P, A>, E>

Defines what a node should do when in a new room (= environment's area), this is designed to be used jointly with a NavigationAction: the latter defines how to properly move the node, while delegating the decision on where to move it to a NavigationStrategy.

Link copied to clipboard
typealias NavigationStrategy2D<T, L, R, N, E> = NavigationStrategy<T, Euclidean2DPosition, Euclidean2DTransformation, L, R, N, E>

A NavigationStrategy in a bidimensional euclidean space.

Link copied to clipboard
interface OrientingAgent<V : Vector<V>, A : GeometricTransformation<V>, L : ConvexGeometricShape<V, A>, R>

An agent capable of orienting itself inside an environment.

Link copied to clipboard
typealias OrientingAgent2D = OrientingAgent<Euclidean2DPosition, Euclidean2DTransformation, Ellipse, DefaultEdge>

An agent capable of orienting itself inside an Euclidean environment.

Link copied to clipboard
interface SteeringAction<T, P : Position<P>> : Action<T>

Action whose purpose is moving a node inside the environment it is in.

Link copied to clipboard
interface SteeringActionWithTarget<T, P : Position<P>, Vector<P>> : SteeringAction<T, P>

A SteeringAction with a defined target.

Link copied to clipboard
interface SteeringStrategy<T, P : Position<P>>

Strategy interface describing how the next points of the steering actions are combined to calculate the next position to move on.