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 graph: NavigationGraph<P, A, N, E>

The navigation graph.

Link copied to clipboard
abstract val obstacles: List<W>
Link copied to clipboard
open val origin: P

Functions

Link copied to clipboard
Link copied to clipboard
abstract fun addLayer(p0: Molecule, p1: Layer<T, P>)
Link copied to clipboard
abstract fun addNode(p0: Node<T>, p1: P): Boolean
Link copied to clipboard
abstract fun addObstacle(obstacle: W)
Link copied to clipboard
abstract fun addTerminator(p0: Predicate<Environment<T, P>>)
Link copied to clipboard
open fun forEach(p0: Consumer<in Node<T>>)
Link copied to clipboard
abstract fun getDimensions(): Int
Link copied to clipboard
abstract fun getDistanceBetweenNodes(p0: Node<T>, p1: Node<T>): Double
Link copied to clipboard
abstract fun getGlobalReactions(): ListSet<GlobalReaction<T>>
Link copied to clipboard
@Nonnull
abstract fun getIncarnation(): Incarnation<T, P>
Link copied to clipboard
abstract fun getLayer(p0: Molecule): Optional<Layer<T, P>>
Link copied to clipboard
abstract fun getLayers(): ListSet<Layer<T, P>>
Link copied to clipboard
abstract fun getLinkingRule(): LinkingRule<T, P>
Link copied to clipboard
abstract fun getNeighborhood(p0: Node<T>): Neighborhood<T>
Link copied to clipboard
abstract fun getNodeByID(p0: Int): Node<T>
Link copied to clipboard
abstract fun getNodeCount(): Int
Link copied to clipboard
abstract fun getNodes(): ListSet<Node<T>>
Link copied to clipboard
abstract fun getNodesWithinRange(p0: P, p1: Double): ListSet<Node<T>>
abstract fun getNodesWithinRange(p0: Node<T>, p1: Double): ListSet<Node<T>>
Link copied to clipboard
abstract fun getOffset(): DoubleArray
Link copied to clipboard
@Nonnull
abstract fun getPosition(p0: Node<T>): P
Link copied to clipboard
abstract fun getSimulation(): Simulation<T, P>
Link copied to clipboard
abstract fun getSize(): DoubleArray
Link copied to clipboard
Link copied to clipboard
abstract fun intersectsObstacle(start: P, end: P): Boolean
Link copied to clipboard
abstract fun isTerminated(): Boolean
Link copied to clipboard
abstract operator override fun iterator(): MutableIterator<Node<T>>
Link copied to clipboard
abstract fun makePosition(vararg p0: Number): P
abstract fun makePosition(vararg coordinates: Double): P
Link copied to clipboard
open fun moveNode(node: Node<T>, direction: P)
Link copied to clipboard
@Nonnull
abstract fun moveNodeToPosition(@Nonnull p0: Node<T>, @Nonnull p1: P)
Link copied to clipboard
abstract fun next(current: P, desired: P): P
Link copied to clipboard
fun <R> Iterable<R>.randomElement(randomGenerator: RandomGenerator): R

Returns a random element of the Iterable using the provided randomGenerator.

Link copied to clipboard
Link copied to clipboard
abstract fun removeNode(p0: Node<T>)
Link copied to clipboard
abstract fun removeObstacle(obstacle: W): Boolean
Link copied to clipboard
abstract fun setLinkingRule(p0: LinkingRule<T, P>)
Link copied to clipboard
abstract fun setSimulation(p0: Simulation<T, P>)
Link copied to clipboard
fun <R> Iterable<R>.shuffled(randomGenerator: RandomGenerator): Iterable<R>

Fisher–Yates shuffle algorithm using a RandomGenerator. More information on Wikipedia.

Link copied to clipboard