Package-level declarations

Types

Link copied to clipboard
data class AABB(val lowerBound: Vec2, val upperBound: Vec2)

Axis-Aligned Bounding Box.

Link copied to clipboard
data class CastOutput(val normal: Vec2, val point: Vec2, val fraction: Float, val iterations: Int, val hit: Boolean)

Low-level ray cast or shape cast output data.

Link copied to clipboard
expect object CharacterMover

Character movement solver utilities.

Link copied to clipboard
data class CollisionPlane(val plane: Plane, val pushLimit: Float = Float.MAX_VALUE, val push: Float = 0.0f, val clipVelocity: Boolean = true)

A collision plane used by the character mover solver.

Link copied to clipboard
data class ContactBeginTouchEvent(val shapeA: Shape, val shapeB: Shape)

Event generated when two shapes begin touching.

Link copied to clipboard
data class ContactData(val shapeA: Shape, val shapeB: Shape, val normal: Vec2, val points: List<Vec2>, val normalImpulses: List<Float>)

Contact data for a shape or body.

Link copied to clipboard
data class ContactEndTouchEvent(val shapeA: Shape, val shapeB: Shape)

Event generated when two shapes stop touching.

Link copied to clipboard
data class ContactEvents(val beginEvents: List<ContactBeginTouchEvent>, val endEvents: List<ContactEndTouchEvent>, val hitEvents: List<ContactHitEvent>)

Container for all contact events from a simulation step.

Link copied to clipboard
data class ContactHitEvent(val shapeA: Shape, val shapeB: Shape, val point: Vec2, val normal: Vec2, val approachSpeed: Float)

Event generated when two shapes collide with significant impact.

Link copied to clipboard
expect object Distance

Functions for computing distances and casts between shapes.

Link copied to clipboard
data class DistanceInput(val proxyA: ShapeProxy, val proxyB: ShapeProxy, val transformA: Transform = Transform.Identity, val transformB: Transform = Transform.Identity, val useRadii: Boolean = true)

Input for computing the distance between two shapes.

Link copied to clipboard
data class DistanceOutput(val pointA: Vec2, val pointB: Vec2, val normal: Vec2, val distance: Float, val iterations: Int)

Output of computing the distance between two shapes.

Link copied to clipboard
expect object Geometry

Geometry utilities for computing hulls, testing point overlap, building polygons, and performing local ray casts against shape primitives.

Link copied to clipboard
data class Hull(val points: List<Vec2>)

A convex hull computed from a set of points. Used to create convex polygons via Geometry.makePolygon().

Link copied to clipboard
data class PlaneResult(val plane: Plane, val point: Vec2, val hit: Boolean)

Result from a character mover collision query.

Link copied to clipboard
data class PlaneSolverResult(val translation: Vec2, val iterationCount: Int)

Result from the plane solver.

Link copied to clipboard
data class QueryFilter(val categoryBits: ULong = B2_DEFAULT_CATEGORY_BITS, val maskBits: ULong = B2_DEFAULT_MASK_BITS)

Filter for world queries (raycasts, overlap tests, etc.).

Link copied to clipboard
data class RayCastInput(val origin: Vec2, val translation: Vec2, val maxFraction: Float = 1.0f)

Low-level ray cast input data for local geometry queries.

Link copied to clipboard
data class RayResult(val hit: Boolean, val shape: Shape?, val point: Vec2, val normal: Vec2, val fraction: Float)

Result of a raycast query.

Link copied to clipboard
data class SegmentDistanceResult(val closest1: Vec2, val closest2: Vec2, val fraction1: Float, val fraction2: Float, val distanceSquared: Float)

Result of a segment-to-segment distance query.

Link copied to clipboard
data class SensorBeginTouchEvent(val sensorShape: Shape, val visitorShape: Shape)

Event generated when a shape begins overlapping a sensor.

Link copied to clipboard
data class SensorEndTouchEvent(val sensorShape: Shape, val visitorShape: Shape)

Event generated when a shape stops overlapping a sensor.

Link copied to clipboard
data class SensorEvents(val beginEvents: List<SensorBeginTouchEvent>, val endEvents: List<SensorEndTouchEvent>)

Container for all sensor events from a simulation step.

Link copied to clipboard
data class ShapeCastInput(val proxy: ShapeProxy, val translation: Vec2, val maxFraction: Float = 1.0f)

Low-level shape cast input data for local geometry queries.

Link copied to clipboard
data class ShapeCastPairInput(val proxyA: ShapeProxy, val proxyB: ShapeProxy, val transformA: Transform = Transform.Identity, val transformB: Transform = Transform.Identity, val translationB: Vec2, val maxFraction: Float = 1.0f, val canEncroach: Boolean = false)

Input for a shape-to-shape cast.

Link copied to clipboard
data class ShapeProxy(val points: List<Vec2>, val radius: Float = 0.0f)

A convex shape proxy used for distance and cast queries.

Link copied to clipboard
data class TreeStats(val nodeVisits: Int, val leafVisits: Int)

Statistics from a broadphase tree query.