Functions

Link copied to clipboard
abstract fun addLayer(p0: Molecule, p1: Layer<T, Euclidean2DPosition>)
Link copied to clipboard
abstract fun addNode(p0: Node<T>, p1: Euclidean2DPosition)
Link copied to clipboard
abstract fun addObstacle(obstacle: W)
Link copied to clipboard
abstract fun addTerminator(p0: Predicate<Environment<T, Euclidean2DPosition>>)
Link copied to clipboard
abstract fun farthestPositionReachable(node: NodeWithShape<T, *, *>, desiredPosition: Euclidean2DPosition, hitboxRadius: Double = node.shape.radius): Euclidean2DPosition

Computes the farthest position reachable by a node towards a desiredPosition, avoiding node overlapping. If no node is located in between, desiredPosition is returned. Otherwise, the first position where the node collides with someone else is returned. For collision purposes, hitboxes are used: each node is given a circular hitbox of radius equal to its shape's radius (shapeless nodes can't cause overlapping). The client can specify a different radius for the hitbox of the moving node.

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 getHeading(node: Node<T>): Euclidean2DPosition

Gets the heading of a node as a direction vector.

Link copied to clipboard
abstract fun getIncarnation(): Optional<Incarnation<T, Euclidean2DPosition>>
Link copied to clipboard
abstract fun getLayer(p0: Molecule): Optional<Layer<T, Euclidean2DPosition>>
Link copied to clipboard
abstract fun getLayers(): ListSet<Layer<T, Euclidean2DPosition>>
Link copied to clipboard
abstract fun getLinkingRule(): LinkingRule<T, Euclidean2DPosition>
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 getNodesWithin(shape: GeometricShape<Euclidean2DPosition, Euclidean2DTransformation>): List<Node<T>>

Gets all nodes whose shape.intersect is true for the given shape.

Link copied to clipboard
abstract fun getNodesWithinRange(p0: Euclidean2DPosition, p1: Double): ListSet<Node<T>>
abstract fun getNodesWithinRange(p0: Node<T>, p1: Double): ListSet<Node<T>>
Link copied to clipboard
abstract fun getObstaclesInRange(center: Euclidean2DPosition, range: Double): List<W>
abstract fun getObstaclesInRange(centerx: Double, centery: Double, range: Double): List<W>

Given a point and a range, retrieves all the obstacles within.

Link copied to clipboard
abstract fun getOffset(): DoubleArray
Link copied to clipboard
abstract fun getPosition(p0: Node<T>): Euclidean2DPosition
Link copied to clipboard
abstract fun getShape(node: Node<T>): GeometricShape<Euclidean2DPosition, Euclidean2DTransformation>

Gets the shape of a node relatively to its position and heading in the environment.

Link copied to clipboard
abstract fun getSimulation(): Simulation<T, Euclidean2DPosition>
Link copied to clipboard
abstract fun getSize(): DoubleArray
Link copied to clipboard
abstract fun getSizeInDistanceUnits(): DoubleArray
Link copied to clipboard
abstract fun hasMobileObstacles(): Boolean
Link copied to clipboard
abstract fun intersectsObstacle(start: Euclidean2DPosition, end: Euclidean2DPosition): 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): Euclidean2DPosition
abstract fun makePosition(vararg coordinates: Double): Euclidean2DPosition

open fun makePosition(x: Double, y: Double): Euclidean2DPosition

Creates a new Euclidean2DPosition.

Link copied to clipboard
open fun moveNode(node: Node<T>, direction: Euclidean2DPosition)
Link copied to clipboard
abstract fun moveNodeToPosition(p0: Node<T>, p1: Euclidean2DPosition)
Link copied to clipboard
abstract fun next(current: Euclidean2DPosition, desired: Euclidean2DPosition): Euclidean2DPosition
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 setHeading(node: Node<T>, direction: Euclidean2DPosition)

Sets the heading of a node.

Link copied to clipboard
abstract fun setLinkingRule(p0: LinkingRule<T, Euclidean2DPosition>)
Link copied to clipboard
abstract fun setSimulation(p0: Simulation<T, Euclidean2DPosition>)
Link copied to clipboard
open fun spliterator(): Spliterator<Node<T>>

Properties

Link copied to clipboard
abstract val graph: NavigationGraph<Euclidean2DPosition, Euclidean2DTransformation, N, E>

The navigation graph.

Link copied to clipboard
abstract val obstacles: List<W>
Link copied to clipboard
open val origin: Euclidean2DPosition
Link copied to clipboard
abstract val shapeFactory: Euclidean2DShapeFactory

A factory of shapes compatible with this environment.

Inheritors

Link copied to clipboard