EnvironmentWithDynamics
class EnvironmentWithDynamics<T> @JvmOverloads constructor( incarnation: Incarnation<T, Euclidean2DPosition>, path: String? = null, zoom: Double = 1.0, dx: Double = 0.0, dy: Double = 0.0, obstaclesColor: Int = Color.BLACK.rgb, roomsColor: Int = Color.BLUE.rgb, backingEnvironment: Physics2DEnvironment<T> = path?.let {
ImageEnvironmentWithGraph(incarnation, it, zoom, dx, dy, obstaclesColor, roomsColor)
} ?: Continuous2DEnvironment(incarnation)) : Dynamics2DEnvironment<T> , EuclideanPhysics2DEnvironmentWithObstacles<RectObstacle2D<Euclidean2DPosition>, T>
Content copied to clipboard
This Environment uses hooks provided by Dynamics2DEnvironment to update the physical world, It also applies physical properties to any added node to perform collision detection and response. If an image path is provided a backing ImageEnvironmentWithGraph is used, otherwise the Continuous2DEnvironment will be used.
Constructors
Link copied to clipboard
fun <T> EnvironmentWithDynamics( incarnation: Incarnation<T, Euclidean2DPosition>, path: String? = null, zoom: Double = 1.0, dx: Double = 0.0, dy: Double = 0.0, obstaclesColor: Int = Color.BLACK.rgb, roomsColor: Int = Color.BLUE.rgb, backingEnvironment: Physics2DEnvironment<T> = path?.let {
ImageEnvironmentWithGraph(incarnation, it, zoom, dx, dy, obstaclesColor, roomsColor)
} ?: Continuous2DEnvironment(incarnation))
Content copied to clipboard
Types
Functions
Link copied to clipboard
Link copied to clipboard
open override fun addObstacle(obstacle: RectObstacle2D<Euclidean2DPosition>)
Content copied to clipboard
Link copied to clipboard
open override fun addTerminator(p0: Predicate<Environment<T, Euclidean2DPosition>>)
Content copied to clipboard
Link copied to clipboard
open override fun farthestPositionReachable( node: Node<T>, desiredPosition: Euclidean2DPosition, hitboxRadius: Double): Euclidean2DPosition
Content copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getNodesWithin(shape: GeometricShape<Euclidean2DPosition, Euclidean2DTransformation>): List<Node<T>>
Content copied to clipboard
Link copied to clipboard
open override fun getNodesWithinRange(p0: Euclidean2DPosition, p1: Double): ListSet<Node<T>>
Content copied to clipboard
Link copied to clipboard
open override fun getObstaclesInRange(center: Euclidean2DPosition, range: Double): List<RectObstacle2D<Euclidean2DPosition>>
Content copied to clipboard
open override fun getObstaclesInRange( centerx: Double, centery: Double, range: Double): List<RectObstacle2D<Euclidean2DPosition>>
Content copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getShape(node: Node<T>): GeometricShape<Euclidean2DPosition, Euclidean2DTransformation>
Content copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Get node's current linear velocity.
Link copied to clipboard
Link copied to clipboard
open override fun intersectsObstacle(start: Euclidean2DPosition, end: Euclidean2DPosition): Boolean
Content copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun makePosition(vararg coordinates: Double): Euclidean2DPosition
Content copied to clipboard
open override fun makePosition(x: Double, y: Double): Euclidean2DPosition
Content copied to clipboard
Link copied to clipboard
open override fun moveNode(node: Node<T>, direction: Euclidean2DPosition)
Content copied to clipboard
Link copied to clipboard
open override fun moveNodeToPosition(@Nonnull p0: Node<T>, @Nonnull p1: Euclidean2DPosition)
Content copied to clipboard
Link copied to clipboard
open override fun next(current: Euclidean2DPosition, desired: Euclidean2DPosition): Euclidean2DPosition
Content copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun removeObstacle(obstacle: RectObstacle2D<Euclidean2DPosition>): Boolean
Content copied to clipboard
Link copied to clipboard
open override fun setHeading(node: Node<T>, direction: Euclidean2DPosition)
Content copied to clipboard
Link copied to clipboard
open override fun setLinkingRule(p0: LinkingRule<T, Euclidean2DPosition>)
Content copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun setVelocity(node: Node<T>, velocity: Euclidean2DPosition)
Content copied to clipboard
Set node's current linear velocity.
Link copied to clipboard
Link copied to clipboard
Compute any collision response and update node positions.