InfiniteHalls

class InfiniteHalls<T> : LimitedContinuos2D<T>

Parameters

<T>

concentration type

Constructors

Link copied to clipboard
open fun InfiniteHalls(incarnation: Incarnation<T, Euclidean2DPosition>)
Default builder.
Link copied to clipboard
open fun InfiniteHalls(incarnation: Incarnation<T, Euclidean2DPosition>, size: Double)
Link copied to clipboard
open fun InfiniteHalls(incarnation: Incarnation<T, Euclidean2DPosition>, allOpen: Boolean)
Link copied to clipboard
open fun InfiniteHalls(incarnation: Incarnation<T, Euclidean2DPosition>, size: Double, allOpen: Boolean)

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 addTerminator(terminator: Predicate<Environment<T, P>>)
Link copied to clipboard
open fun allowed(xp: Double, yp: Double): Boolean
Checks whether a position is allowed or not.
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 getHallSize(): 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 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 isDoorsOpen(): 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 removeNode(node: Node<T>)
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

Properties

Link copied to clipboard
private val cf: Double
Link copied to clipboard
private val ci: Double
Link copied to clipboard
private open var doorsOpen: Boolean
Link copied to clipboard
private val ex: Double
Link copied to clipboard
private val sf: Double
Link copied to clipboard
private val si: Double