Orienting

abstract class Orienting<T, P : Position<P>, Vector<P>, A : Transformation<P>, N : ConvexShape<P, A>, L : ConvexShape<P, A>> @JvmOverloads constructor(val randomGenerator: RandomGenerator, val environment: EnvironmentWithGraph<*, T, P, A, N, DefaultEdge>, val node: Node<T>, val knowledgeDegree: Double, minArea: Double = 10.0) : AbstractNodeProperty<T> , OrientingProperty<T, P, A, L, N, DefaultEdge>

Base implementation of a node's OrientingProperty.

Inheritors

Constructors

Link copied to clipboard
constructor(randomGenerator: RandomGenerator, environment: EnvironmentWithGraph<*, T, P, A, N, DefaultEdge>, node: Node<T>, knowledgeDegree: Double, minArea: Double = 10.0)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val cognitiveMap: NavigationGraph<P, A, L, DefaultEdge>

The cognitive map of the agent. It's a graph composed of landmarks (elements of the environment easy to remember due to their uniqueness) and spatial relations between them. It's modeled as a NavigationGraph.

Link copied to clipboard
open override val environment: EnvironmentWithGraph<*, T, P, A, N, DefaultEdge>

The environment in which the node moves.

Link copied to clipboard
open override val knowledgeDegree: Double

The knowledge degree of the agent concerning the environment. This is a Double value in 0, 1 describing the percentage of environment the agent is familiar with prior to the start of the simulation (thus it does not take into account the knowledge the pedestrian will gain during it, namely the volatileMemory).

Link copied to clipboard
open override val node: Node<T>
Link copied to clipboard
Link copied to clipboard
open override val volatileMemory: MutableMap<ConvexShape<P, A>, Int>

The volatile memory of the agent: it models the ability to remember areas of the environment already visited since the start of the simulation. Each area is paired with the number of visits. Areas are assumed to be represented as ConvexShapes, as in NavigationGraphs.

Functions

Link copied to clipboard
abstract fun cloneOnNewNode(node: Node<T>): NodeProperty<T>
Link copied to clipboard
abstract override fun createLandmarkIn(area: N): L

Creates a landmark entirely contained in the given area. If such area contains one or more destinations, the returned landmark must contain at least one of them.

Link copied to clipboard
open fun <M : ConvexShape<P, A>> registerVisit(area: M)

Registers a visit to the provided area in the agent's volatileMemory.

Link copied to clipboard
open override fun toString(): String