Continuous2DObstacles

Parameters

<T>

concentration type

Constructors

Link copied to clipboard
open fun Continuous2DObstacles(incarnation: Incarnation<T, Euclidean2DPosition>)

Functions

Link copied to clipboard
fun addLayer(m: Molecule, l: Layer<T, P>)
Link copied to clipboard
fun addNode(node: Node<T>, p: P)
Link copied to clipboard
fun addObstacle(@Nonnull o: RectObstacle2D<Euclidean2DPosition>)
Link copied to clipboard
fun addTerminator(terminator: Predicate<Environment<T, P>>)
Link copied to clipboard
open fun farthestPositionReachable(node: NodeWithShape<T, out Any, out Any>, desiredPosition: Euclidean2DPosition, hitboxRadius: Double): Euclidean2DPosition
abstract fun farthestPositionReachable(node: NodeWithShape<T, out Any, out Any>, desiredPosition: P, hitboxRadius: Double): P
Computes the farthest position reachable by a node towards a desiredPosition, avoiding node overlapping.
Link copied to clipboard
fun forEach(action: Consumer<out Any>)
Link copied to clipboard
fun getDimensions(): Int
Link copied to clipboard
fun getDistanceBetweenNodes(n1: Node<T>, n2: Node<T>): Double
Link copied to clipboard
open fun getHeading(node: Node<T>): Euclidean2DPosition
abstract fun getHeading(node: Node<T>): P
Gets the heading of a node as a direction vector.
Link copied to clipboard
fun getIncarnation(): Optional<Incarnation<T, P>>
Link copied to clipboard
fun getLayer(m: Molecule): Optional<Layer<T, P>>
Link copied to clipboard
fun getLayers(): ListSet<Layer<T, P>>
Link copied to clipboard
fun getLinkingRule(): LinkingRule<T, P>
Link copied to clipboard
fun getNeighborhood(center: Node<T>): Neighborhood<T>
Link copied to clipboard
fun getNodeByID(id: Int): Node<T>
Link copied to clipboard
fun getNodeCount(): Int
Link copied to clipboard
fun getNodes(): ListSet<Node<T>>
Link copied to clipboard
open 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
fun getNodesWithinRange(center: Node<T>, range: Double): ListSet<Node<T>>
Link copied to clipboard
fun getObstacles(): List<RectObstacle2D<Euclidean2DPosition>>
Link copied to clipboard
fun getObstaclesInRange(@Nonnull center: Euclidean2DPosition, range: Double): List<RectObstacle2D<Euclidean2DPosition>>
fun getObstaclesInRange(centerx: Double, centery: Double, range: Double): List<RectObstacle2D<Euclidean2DPosition>>
Given a point and a range, retrieves all the obstacles within.
Link copied to clipboard
fun getOffset(): Array<Double>
Link copied to clipboard
open fun getOrigin(): Euclidean2DPosition
open fun getOrigin(): P
Link copied to clipboard
fun getPosition(node: Node<T>): P
Link copied to clipboard
open fun getShape(node: Node<T>): GeometricShape<Euclidean2DPosition, Euclidean2DTransformation>
abstract fun getShape(node: Node<T>): GeometricShape<P, A>
Gets the shape of a node relatively to its position and heading in the environment.
Link copied to clipboard
open fun getShapeFactory(): Euclidean2DShapeFactory
abstract fun getShapeFactory(): F
A factory of shapes compatible with this environment.
Link copied to clipboard
fun getSimulation(): Simulation<T, P>
Link copied to clipboard
fun getSize(): Array<Double>
Link copied to clipboard
open fun getSizeInDistanceUnits(): Array<Double>
Link copied to clipboard
open fun hasMobileObstacles(): Boolean
Subclasses dealing with mobile obstacles may change this.
Link copied to clipboard
fun intersectsObstacle(start: Euclidean2DPosition, end: Euclidean2DPosition): Boolean
Link copied to clipboard
fun isTerminated(): Boolean
Link copied to clipboard
fun iterator(): Iterator<Node<T>>
abstract fun iterator(): Iterator<T>
Link copied to clipboard
open fun makePosition(coordinates: Array<Number>): Euclidean2DPosition
Creates an euclidean position from the given coordinates.
abstract fun makePosition(p: Array<Number>): P
Link copied to clipboard
open fun moveNode(node: Node<T>, direction: P)
Link copied to clipboard
open fun moveNodeToPosition(node: Node<T>, newpos: P)

open fun moveNodeToPosition(node: Node<T>, newPosition: Euclidean2DPosition)
open fun moveNodeToPosition(node: Node<T>, newPos: Euclidean2DPosition)
Moves the node to the farthestPositionReachable towards the desired newPosition.
Link copied to clipboard
fun next(@Nonnull current: Euclidean2DPosition, @Nonnull desired: Euclidean2DPosition): Euclidean2DPosition

fun next(ox: Double, oy: Double, nx: Double, ny: Double): Euclidean2DPosition
This method must calculate the ABSOLUTE next allowed position given the current position and the position in which the node wants to move.
Link copied to clipboard
fun removeNode(node: Node<T>)
Link copied to clipboard
fun removeObstacle(@Nonnull o: RectObstacle2D<Euclidean2DPosition>): Boolean
Link copied to clipboard
open fun setHeading(node: Node<T>, direction: Euclidean2DPosition)
Sets the heading of a node.
Link copied to clipboard
fun setLinkingRule(r: LinkingRule<T, P>)
Link copied to clipboard
fun setSimulation(s: Simulation<T, P>)
Link copied to clipboard
fun spliterator(): Spliterator<Node<T>>
open fun spliterator(): Spliterator<T>
Link copied to clipboard
open fun toString(): String

Inheritors

Link copied to clipboard