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
open val Node<T>.currentPosition: P
Link copied to clipboard
abstract val dimensions: Int
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: Map<Molecule, Layer<T, P>>
Link copied to clipboard
Link copied to clipboard
abstract var networkModel: NetworkModel<T>
Link copied to clipboard
abstract val nodeCount: Observable<Int>
Link copied to clipboard
abstract val nodes: ObservableList<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
open val Node<T>.position: Observable<P>
Link copied to clipboard
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 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 addReaction(reaction: Reaction<T>)
Link copied to clipboard
abstract fun addTerminator(terminator: TerminationPredicate<T, P>)
open fun addTerminator(terminator: (Environment<T, P>) -> Boolean)
Link copied to clipboard
open operator fun contains(node: Node<T>): Boolean
Link copied to clipboard
open fun currentPositionOf(node: Node<T>): P
Link copied to clipboard
abstract fun distanceBetween(n1: Node<T>, n2: Node<T>): Double
Link copied to clipboard
open fun Node<T>.distanceTo(other: Node<T>): Double
Link copied to clipboard
open fun farthestReachablePosition(node: Node<T>, desired: P): P
Link copied to clipboard
abstract fun layerFor(molecule: Molecule): Layer<T, P>?
Link copied to clipboard
abstract fun makePosition(coordinates: DoubleArray): P
open fun makePosition(coordinates: List<Number>): P
abstract fun makePosition(vararg coordinates: Number): P
Link copied to clipboard
open fun Node<T>.moveBy(displacement: P)
Link copied to clipboard
open fun moveNodeBy(node: Node<T>, displacement: P)
Link copied to clipboard
abstract fun moveNodeTo(node: Node<T>, position: P)
Link copied to clipboard
open fun Node<T>.moveTo(position: P)
Link copied to clipboard
abstract fun neighborhoodOf(node: Node<T>): Observable<Neighborhood<T>>
Link copied to clipboard
abstract fun nodesAround(position: P, range: Double): List<Node<T>>
abstract fun nodesAround(node: Node<T>, range: Double): List<Node<T>>
Link copied to clipboard
open fun P.nodesInRange(range: Double): List<Node<T>>
open fun Node<T>.nodesInRange(range: Double): List<Node<T>>
Link copied to clipboard
abstract fun nodeWithId(id: Int): Node<T>
Link copied to clipboard
abstract fun observeLayerValue(molecule: Molecule, node: Node<T>): Observable<T?>
Link copied to clipboard
abstract fun observeNodesAround(position: P, range: Double): ObservableSet<Node<T>>
abstract fun observeNodesAround(node: Node<T>, range: Double): ObservableSet<Node<T>>
Link copied to clipboard
Link copied to clipboard
abstract fun positionOf(node: Node<T>): Observable<P>
Link copied to clipboard
open fun Node<T>.remove()
open fun W.remove(): Boolean
open fun Reaction<T>.remove()
Link copied to clipboard
abstract fun removeNode(node: Node<T>)
Link copied to clipboard
abstract fun removeObstacle(obstacle: W): Boolean
Link copied to clipboard
abstract fun removeReaction(reaction: Reaction<T>)
Link copied to clipboard
abstract fun shortestPathIntersectsObstacle(start: P, end: P): Boolean
Link copied to clipboard
Link copied to clipboard