Dynamics2DEnvironment

interface Dynamics2DEnvironment<T> : Physics2DEnvironment<T> , Euclidean2DEnvironment<T>

Any implementing Environment should take care of physical dynamics, in particular collision detection and response. This interface provides some hooks in order to be able to manage some of the node's physical state.

Functions

Link copied to clipboard
abstract fun addGlobalReaction(p0: GlobalReaction<T>)
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): Boolean
Link copied to clipboard
abstract fun addTerminator(p0: Predicate<Environment<T, Euclidean2DPosition>>)
Link copied to clipboard
abstract fun farthestPositionReachable(    node: Node<T>,     desiredPosition: Euclidean2DPosition,     hitboxRadius: Double): Euclidean2DPosition
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
abstract fun getHeading(node: Node<T>): Euclidean2DPosition
Link copied to clipboard
abstract fun getIncarnation(): 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>>
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 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>
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 getVelocity(node: Node<T>): Euclidean2DPosition

Get node's current linear velocity.

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
Link copied to clipboard
open fun moveNode(node: Node<T>, direction: Euclidean2DPosition)
Link copied to clipboard
abstract fun moveNodeToPosition(@Nonnull p0: Node<T>, @Nonnull p1: Euclidean2DPosition)
Link copied to clipboard
abstract fun removeNode(p0: Node<T>)
Link copied to clipboard
abstract fun setHeading(node: Node<T>, direction: Euclidean2DPosition)
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
abstract fun setVelocity(node: Node<T>, velocity: Euclidean2DPosition)

Set node's current linear velocity.

Link copied to clipboard
open fun spliterator(): Spliterator<Node<T>>
Link copied to clipboard
abstract fun updatePhysics(elapsedTime: Double)

Compute any collision response and update node positions.

Properties

Link copied to clipboard
open val origin: Euclidean2DPosition
Link copied to clipboard
abstract val shapeFactory: Euclidean2DShapeFactory

Inheritors

Link copied to clipboard