EnvironmentWithGraph

An EnvironmentWithObstacles providing a NavigationGraph. This is a graph whose nodes are ConvexShapes representing areas of the environment traversable by agents (namely, walkable areas), whereas edges represent connections between these areas. For instance, in an indoor environment, nodes should represent rooms and corridors, whereas edges should represent doors and passages. This data structure is also known as navigation mesh.

Inheritors

Properties

Link copied to clipboard
abstract val dimensions: Int
Link copied to clipboard
abstract val globalReactions: ListSet<GlobalReaction<T>>
Link copied to clipboard
abstract val graph: NavigationGraph<P, A, N, E>

The navigation graph.

Link copied to clipboard
abstract val incarnation: Incarnation<T, P>
Link copied to clipboard
abstract val isTerminated: Boolean
Link copied to clipboard
abstract val layers: ListSet<Layer<T, P>>
Link copied to clipboard
abstract var linkingRule: LinkingRule<T, P>
Link copied to clipboard
abstract val nodeCount: Int
Link copied to clipboard
abstract val nodes: ListSet<Node<T>>
Link copied to clipboard
abstract val obstacles: List<W>
Link copied to clipboard
abstract val offset: DoubleArray
Link copied to clipboard
open val origin: P
Link copied to clipboard
abstract var simulation: Simulation<T, P>
Link copied to clipboard
abstract val simulationOrNull: Simulation<T, P>?
Link copied to clipboard
abstract val size: DoubleArray
Link copied to clipboard

Functions

Link copied to clipboard
abstract fun addGlobalReaction(reaction: GlobalReaction<T>)
Link copied to clipboard
abstract fun addLayer(molecule: Molecule, layer: Layer<T, P>)
Link copied to clipboard
abstract fun addNode(node: Node<T>, position: P): Boolean
Link copied to clipboard
abstract fun addObstacle(obstacle: W)
Link copied to clipboard
abstract fun addTerminator(terminator: TerminationPredicate<T, P>)
open fun addTerminator(terminator: (Environment<T, P>) -> Boolean)
Link copied to clipboard
abstract fun getDistanceBetweenNodes(n1: Node<T>, n2: Node<T>): Double
Link copied to clipboard
abstract fun getLayer(molecule: Molecule): Layer<T, P>?
Link copied to clipboard
abstract fun getNeighborhood(node: Node<T>): Neighborhood<T>
Link copied to clipboard
abstract fun getNodeByID(id: Int): Node<T>
Link copied to clipboard
abstract fun getNodesWithinRange(position: P, range: Double): ListSet<Node<T>>
abstract fun getNodesWithinRange(node: Node<T>, range: Double): ListSet<Node<T>>
Link copied to clipboard
abstract fun getPosition(node: Node<T>): P
Link copied to clipboard
abstract fun intersectsObstacle(start: P, end: P): Boolean
Link copied to clipboard
abstract operator fun iterator(): Iterator<Node<T>>
Link copied to clipboard
abstract fun makePosition(vararg coordinates: Number): P
open fun makePosition(coordinates: List<Number>): P
Link copied to clipboard
open fun moveNode(node: Node<T>, direction: P)
Link copied to clipboard
abstract fun moveNodeToPosition(node: Node<T>, position: P)
Link copied to clipboard
abstract fun next(current: P, desired: P): P
Link copied to clipboard
abstract fun removeGlobalReaction(reaction: GlobalReaction<T>)
Link copied to clipboard
abstract fun removeNode(node: Node<T>)
Link copied to clipboard
abstract fun removeObstacle(obstacle: W): Boolean