/* tslint:disable */ /* eslint-disable */ /** * @returns {string} */ export function version(): string; /** */ export enum RawRigidBodyType { Dynamic = 0, Fixed = 1, KinematicPositionBased = 2, KinematicVelocityBased = 3, } /** */ export enum RawFeatureType { Vertex = 0, Edge = 1, Face = 2, Unknown = 3, } /** */ export enum RawMotorModel { AccelerationBased = 0, ForceBased = 1, } /** */ export enum RawShapeType { Ball = 0, Cuboid = 1, Capsule = 2, Segment = 3, Polyline = 4, Triangle = 5, TriMesh = 6, HeightField = 7, Compound = 8, ConvexPolyhedron = 9, Cylinder = 10, Cone = 11, RoundCuboid = 12, RoundTriangle = 13, RoundCylinder = 14, RoundCone = 15, RoundConvexPolyhedron = 16, HalfSpace = 17, } /** */ export enum RawJointAxis { X = 0, Y = 1, Z = 2, AngX = 3, AngY = 4, AngZ = 5, } /** */ export enum RawJointType { Revolute = 0, Fixed = 1, Prismatic = 2, Rope = 3, Spring = 4, Spherical = 5, Generic = 6, } /** */ export class RawBroadPhase { free(): void; /** */ constructor(); } /** */ export class RawCCDSolver { free(): void; /** */ constructor(); } /** */ export class RawCharacterCollision { free(): void; /** */ constructor(); /** * @returns {number} */ handle(): number; /** * @returns {RawVector} */ translationDeltaApplied(): RawVector; /** * @returns {RawVector} */ translationDeltaRemaining(): RawVector; /** * @returns {number} */ toi(): number; /** * @returns {RawVector} */ worldWitness1(): RawVector; /** * @returns {RawVector} */ worldWitness2(): RawVector; /** * @returns {RawVector} */ worldNormal1(): RawVector; /** * @returns {RawVector} */ worldNormal2(): RawVector; } /** */ export class RawColliderSet { free(): void; /** * The world-space translation of this collider. * @param {number} handle * @returns {RawVector} */ coTranslation(handle: number): RawVector; /** * The world-space orientation of this collider. * @param {number} handle * @returns {RawRotation} */ coRotation(handle: number): RawRotation; /** * Sets the translation of this collider. * * # Parameters * - `x`: the world-space position of the collider along the `x` axis. * - `y`: the world-space position of the collider along the `y` axis. * - `z`: the world-space position of the collider along the `z` axis. * - `wakeUp`: forces the collider to wake-up so it is properly affected by forces if it * wasn't moving before modifying its position. * @param {number} handle * @param {number} x * @param {number} y * @param {number} z */ coSetTranslation(handle: number, x: number, y: number, z: number): void; /** * @param {number} handle * @param {number} x * @param {number} y * @param {number} z */ coSetTranslationWrtParent(handle: number, x: number, y: number, z: number): void; /** * Sets the rotation quaternion of this collider. * * This does nothing if a zero quaternion is provided. * * # Parameters * - `x`: the first vector component of the quaternion. * - `y`: the second vector component of the quaternion. * - `z`: the third vector component of the quaternion. * - `w`: the scalar component of the quaternion. * - `wakeUp`: forces the collider to wake-up so it is properly affected by forces if it * wasn't moving before modifying its position. * @param {number} handle * @param {number} x * @param {number} y * @param {number} z * @param {number} w */ coSetRotation(handle: number, x: number, y: number, z: number, w: number): void; /** * @param {number} handle * @param {number} x * @param {number} y * @param {number} z * @param {number} w */ coSetRotationWrtParent(handle: number, x: number, y: number, z: number, w: number): void; /** * Is this collider a sensor? * @param {number} handle * @returns {boolean} */ coIsSensor(handle: number): boolean; /** * The type of the shape of this collider. * @param {number} handle * @returns {RawShapeType} */ coShapeType(handle: number): RawShapeType; /** * @param {number} handle * @returns {RawVector | undefined} */ coHalfspaceNormal(handle: number): RawVector | undefined; /** * The half-extents of this collider if it is has a cuboid shape. * @param {number} handle * @returns {RawVector | undefined} */ coHalfExtents(handle: number): RawVector | undefined; /** * Set the half-extents of this collider if it has a cuboid shape. * @param {number} handle * @param {RawVector} newHalfExtents */ coSetHalfExtents(handle: number, newHalfExtents: RawVector): void; /** * The radius of this collider if it is a ball, capsule, cylinder, or cone shape. * @param {number} handle * @returns {number | undefined} */ coRadius(handle: number): number | undefined; /** * Set the radius of this collider if it is a ball, capsule, cylinder, or cone shape. * @param {number} handle * @param {number} newRadius */ coSetRadius(handle: number, newRadius: number): void; /** * The half height of this collider if it is a capsule, cylinder, or cone shape. * @param {number} handle * @returns {number | undefined} */ coHalfHeight(handle: number): number | undefined; /** * Set the half height of this collider if it is a capsule, cylinder, or cone shape. * @param {number} handle * @param {number} newHalfheight */ coSetHalfHeight(handle: number, newHalfheight: number): void; /** * The radius of the round edges of this collider. * @param {number} handle * @returns {number | undefined} */ coRoundRadius(handle: number): number | undefined; /** * Set the radius of the round edges of this collider. * @param {number} handle * @param {number} newBorderRadius */ coSetRoundRadius(handle: number, newBorderRadius: number): void; /** * The vertices of this triangle mesh, polyline, convex polyhedron, segment, triangle or convex polyhedron, if it is one. * @param {number} handle * @returns {Float32Array | undefined} */ coVertices(handle: number): Float32Array | undefined; /** * The indices of this triangle mesh, polyline, or convex polyhedron, if it is one. * @param {number} handle * @returns {Uint32Array | undefined} */ coIndices(handle: number): Uint32Array | undefined; /** * The height of this heightfield if it is one. * @param {number} handle * @returns {Float32Array | undefined} */ coHeightfieldHeights(handle: number): Float32Array | undefined; /** * The scaling factor applied of this heightfield if it is one. * @param {number} handle * @returns {RawVector | undefined} */ coHeightfieldScale(handle: number): RawVector | undefined; /** * The number of rows on this heightfield's height matrix, if it is one. * @param {number} handle * @returns {number | undefined} */ coHeightfieldNRows(handle: number): number | undefined; /** * The number of columns on this heightfield's height matrix, if it is one. * @param {number} handle * @returns {number | undefined} */ coHeightfieldNCols(handle: number): number | undefined; /** * The unique integer identifier of the collider this collider is attached to. * @param {number} handle * @returns {number | undefined} */ coParent(handle: number): number | undefined; /** * @param {number} handle * @param {boolean} enabled */ coSetEnabled(handle: number, enabled: boolean): void; /** * @param {number} handle * @returns {boolean} */ coIsEnabled(handle: number): boolean; /** * The friction coefficient of this collider. * @param {number} handle * @returns {number} */ coFriction(handle: number): number; /** * The restitution coefficient of this collider. * @param {number} handle * @returns {number} */ coRestitution(handle: number): number; /** * The density of this collider. * @param {number} handle * @returns {number} */ coDensity(handle: number): number; /** * The mass of this collider. * @param {number} handle * @returns {number} */ coMass(handle: number): number; /** * The volume of this collider. * @param {number} handle * @returns {number} */ coVolume(handle: number): number; /** * The collision groups of this collider. * @param {number} handle * @returns {number} */ coCollisionGroups(handle: number): number; /** * The solver groups of this collider. * @param {number} handle * @returns {number} */ coSolverGroups(handle: number): number; /** * The physics hooks enabled for this collider. * @param {number} handle * @returns {number} */ coActiveHooks(handle: number): number; /** * The collision types enabled for this collider. * @param {number} handle * @returns {number} */ coActiveCollisionTypes(handle: number): number; /** * The events enabled for this collider. * @param {number} handle * @returns {number} */ coActiveEvents(handle: number): number; /** * The total force magnitude beyond which a contact force event can be emitted. * @param {number} handle * @returns {number} */ coContactForceEventThreshold(handle: number): number; /** * @param {number} handle * @param {RawVector} point * @returns {boolean} */ coContainsPoint(handle: number, point: RawVector): boolean; /** * @param {number} handle * @param {RawVector} colliderVel * @param {RawShape} shape2 * @param {RawVector} shape2Pos * @param {RawRotation} shape2Rot * @param {RawVector} shape2Vel * @param {number} maxToi * @param {boolean} stop_at_penetration * @returns {RawShapeTOI | undefined} */ coCastShape(handle: number, colliderVel: RawVector, shape2: RawShape, shape2Pos: RawVector, shape2Rot: RawRotation, shape2Vel: RawVector, maxToi: number, stop_at_penetration: boolean): RawShapeTOI | undefined; /** * @param {number} handle * @param {RawVector} collider1Vel * @param {number} collider2handle * @param {RawVector} collider2Vel * @param {number} max_toi * @param {boolean} stop_at_penetration * @returns {RawShapeColliderTOI | undefined} */ coCastCollider(handle: number, collider1Vel: RawVector, collider2handle: number, collider2Vel: RawVector, max_toi: number, stop_at_penetration: boolean): RawShapeColliderTOI | undefined; /** * @param {number} handle * @param {RawShape} shape2 * @param {RawVector} shapePos2 * @param {RawRotation} shapeRot2 * @returns {boolean} */ coIntersectsShape(handle: number, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation): boolean; /** * @param {number} handle * @param {RawShape} shape2 * @param {RawVector} shapePos2 * @param {RawRotation} shapeRot2 * @param {number} prediction * @returns {RawShapeContact | undefined} */ coContactShape(handle: number, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation, prediction: number): RawShapeContact | undefined; /** * @param {number} handle * @param {number} collider2handle * @param {number} prediction * @returns {RawShapeContact | undefined} */ coContactCollider(handle: number, collider2handle: number, prediction: number): RawShapeContact | undefined; /** * @param {number} handle * @param {RawVector} point * @param {boolean} solid * @returns {RawPointProjection} */ coProjectPoint(handle: number, point: RawVector, solid: boolean): RawPointProjection; /** * @param {number} handle * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @returns {boolean} */ coIntersectsRay(handle: number, rayOrig: RawVector, rayDir: RawVector, maxToi: number): boolean; /** * @param {number} handle * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @param {boolean} solid * @returns {number} */ coCastRay(handle: number, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean): number; /** * @param {number} handle * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @param {boolean} solid * @returns {RawRayIntersection | undefined} */ coCastRayAndGetNormal(handle: number, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean): RawRayIntersection | undefined; /** * @param {number} handle * @param {boolean} is_sensor */ coSetSensor(handle: number, is_sensor: boolean): void; /** * @param {number} handle * @param {number} restitution */ coSetRestitution(handle: number, restitution: number): void; /** * @param {number} handle * @param {number} friction */ coSetFriction(handle: number, friction: number): void; /** * @param {number} handle * @returns {number} */ coFrictionCombineRule(handle: number): number; /** * @param {number} handle * @param {number} rule */ coSetFrictionCombineRule(handle: number, rule: number): void; /** * @param {number} handle * @returns {number} */ coRestitutionCombineRule(handle: number): number; /** * @param {number} handle * @param {number} rule */ coSetRestitutionCombineRule(handle: number, rule: number): void; /** * @param {number} handle * @param {number} groups */ coSetCollisionGroups(handle: number, groups: number): void; /** * @param {number} handle * @param {number} groups */ coSetSolverGroups(handle: number, groups: number): void; /** * @param {number} handle * @param {number} hooks */ coSetActiveHooks(handle: number, hooks: number): void; /** * @param {number} handle * @param {number} events */ coSetActiveEvents(handle: number, events: number): void; /** * @param {number} handle * @param {number} types */ coSetActiveCollisionTypes(handle: number, types: number): void; /** * @param {number} handle * @param {RawShape} shape */ coSetShape(handle: number, shape: RawShape): void; /** * @param {number} handle * @param {number} threshold */ coSetContactForceEventThreshold(handle: number, threshold: number): void; /** * @param {number} handle * @param {number} density */ coSetDensity(handle: number, density: number): void; /** * @param {number} handle * @param {number} mass */ coSetMass(handle: number, mass: number): void; /** * @param {number} handle * @param {number} mass * @param {RawVector} centerOfMass * @param {RawVector} principalAngularInertia * @param {RawRotation} angularInertiaFrame */ coSetMassProperties(handle: number, mass: number, centerOfMass: RawVector, principalAngularInertia: RawVector, angularInertiaFrame: RawRotation): void; /** */ constructor(); /** * @returns {number} */ len(): number; /** * @param {number} handle * @returns {boolean} */ contains(handle: number): boolean; /** * @param {boolean} enabled * @param {RawShape} shape * @param {RawVector} translation * @param {RawRotation} rotation * @param {number} massPropsMode * @param {number} mass * @param {RawVector} centerOfMass * @param {RawVector} principalAngularInertia * @param {RawRotation} angularInertiaFrame * @param {number} density * @param {number} friction * @param {number} restitution * @param {number} frictionCombineRule * @param {number} restitutionCombineRule * @param {boolean} isSensor * @param {number} collisionGroups * @param {number} solverGroups * @param {number} activeCollisionTypes * @param {number} activeHooks * @param {number} activeEvents * @param {number} contactForceEventThreshold * @param {boolean} hasParent * @param {number} parent * @param {RawRigidBodySet} bodies * @returns {number | undefined} */ createCollider(enabled: boolean, shape: RawShape, translation: RawVector, rotation: RawRotation, massPropsMode: number, mass: number, centerOfMass: RawVector, principalAngularInertia: RawVector, angularInertiaFrame: RawRotation, density: number, friction: number, restitution: number, frictionCombineRule: number, restitutionCombineRule: number, isSensor: boolean, collisionGroups: number, solverGroups: number, activeCollisionTypes: number, activeHooks: number, activeEvents: number, contactForceEventThreshold: number, hasParent: boolean, parent: number, bodies: RawRigidBodySet): number | undefined; /** * Removes a collider from this set and wake-up the rigid-body it is attached to. * @param {number} handle * @param {RawIslandManager} islands * @param {RawRigidBodySet} bodies * @param {boolean} wakeUp */ remove(handle: number, islands: RawIslandManager, bodies: RawRigidBodySet, wakeUp: boolean): void; /** * Checks if a collider with the given integer handle exists. * @param {number} handle * @returns {boolean} */ isHandleValid(handle: number): boolean; /** * Applies the given JavaScript function to the integer handle of each collider managed by this collider set. * * # Parameters * - `f(handle)`: the function to apply to the integer handle of each collider managed by this collider set. Called as `f(handle)`. * @param {Function} f */ forEachColliderHandle(f: Function): void; } /** */ export class RawContactForceEvent { free(): void; /** * The first collider involved in the contact. * @returns {number} */ collider1(): number; /** * The second collider involved in the contact. * @returns {number} */ collider2(): number; /** * The sum of all the forces between the two colliders. * @returns {RawVector} */ total_force(): RawVector; /** * The sum of the magnitudes of each force between the two colliders. * * Note that this is **not** the same as the magnitude of `self.total_force`. * Here we are summing the magnitude of all the forces, instead of taking * the magnitude of their sum. * @returns {number} */ total_force_magnitude(): number; /** * The world-space (unit) direction of the force with strongest magnitude. * @returns {RawVector} */ max_force_direction(): RawVector; /** * The magnitude of the largest force at a contact point of this contact pair. * @returns {number} */ max_force_magnitude(): number; } /** */ export class RawContactManifold { free(): void; /** * @returns {RawVector} */ normal(): RawVector; /** * @returns {RawVector} */ local_n1(): RawVector; /** * @returns {RawVector} */ local_n2(): RawVector; /** * @returns {number} */ subshape1(): number; /** * @returns {number} */ subshape2(): number; /** * @returns {number} */ num_contacts(): number; /** * @param {number} i * @returns {RawVector | undefined} */ contact_local_p1(i: number): RawVector | undefined; /** * @param {number} i * @returns {RawVector | undefined} */ contact_local_p2(i: number): RawVector | undefined; /** * @param {number} i * @returns {number} */ contact_dist(i: number): number; /** * @param {number} i * @returns {number} */ contact_fid1(i: number): number; /** * @param {number} i * @returns {number} */ contact_fid2(i: number): number; /** * @param {number} i * @returns {number} */ contact_impulse(i: number): number; /** * @param {number} i * @returns {number} */ contact_tangent_impulse_x(i: number): number; /** * @param {number} i * @returns {number} */ contact_tangent_impulse_y(i: number): number; /** * @returns {number} */ num_solver_contacts(): number; /** * @param {number} i * @returns {RawVector | undefined} */ solver_contact_point(i: number): RawVector | undefined; /** * @param {number} i * @returns {number} */ solver_contact_dist(i: number): number; /** * @param {number} i * @returns {number} */ solver_contact_friction(i: number): number; /** * @param {number} i * @returns {number} */ solver_contact_restitution(i: number): number; /** * @param {number} i * @returns {RawVector} */ solver_contact_tangent_velocity(i: number): RawVector; } /** */ export class RawContactPair { free(): void; /** * @returns {number} */ collider1(): number; /** * @returns {number} */ collider2(): number; /** * @returns {number} */ numContactManifolds(): number; /** * @param {number} i * @returns {RawContactManifold | undefined} */ contactManifold(i: number): RawContactManifold | undefined; } /** */ export class RawDebugRenderPipeline { free(): void; /** */ constructor(); /** * @returns {Float32Array} */ vertices(): Float32Array; /** * @returns {Float32Array} */ colors(): Float32Array; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawImpulseJointSet} impulse_joints * @param {RawMultibodyJointSet} multibody_joints * @param {RawNarrowPhase} narrow_phase */ render(bodies: RawRigidBodySet, colliders: RawColliderSet, impulse_joints: RawImpulseJointSet, multibody_joints: RawMultibodyJointSet, narrow_phase: RawNarrowPhase): void; } /** */ export class RawDeserializedWorld { free(): void; /** * @returns {RawVector | undefined} */ takeGravity(): RawVector | undefined; /** * @returns {RawIntegrationParameters | undefined} */ takeIntegrationParameters(): RawIntegrationParameters | undefined; /** * @returns {RawIslandManager | undefined} */ takeIslandManager(): RawIslandManager | undefined; /** * @returns {RawBroadPhase | undefined} */ takeBroadPhase(): RawBroadPhase | undefined; /** * @returns {RawNarrowPhase | undefined} */ takeNarrowPhase(): RawNarrowPhase | undefined; /** * @returns {RawRigidBodySet | undefined} */ takeBodies(): RawRigidBodySet | undefined; /** * @returns {RawColliderSet | undefined} */ takeColliders(): RawColliderSet | undefined; /** * @returns {RawImpulseJointSet | undefined} */ takeImpulseJoints(): RawImpulseJointSet | undefined; /** * @returns {RawMultibodyJointSet | undefined} */ takeMultibodyJoints(): RawMultibodyJointSet | undefined; } /** */ export class RawDynamicRayCastVehicleController { free(): void; /** * @param {number} chassis */ constructor(chassis: number); /** * @returns {number} */ current_vehicle_speed(): number; /** * @returns {number} */ chassis(): number; /** * @returns {number} */ index_up_axis(): number; /** * @param {number} axis */ set_index_up_axis(axis: number): void; /** * @returns {number} */ index_forward_axis(): number; /** * @param {number} axis */ set_index_forward_axis(axis: number): void; /** * @param {RawVector} chassis_connection_cs * @param {RawVector} direction_cs * @param {RawVector} axle_cs * @param {number} suspension_rest_length * @param {number} radius */ add_wheel(chassis_connection_cs: RawVector, direction_cs: RawVector, axle_cs: RawVector, suspension_rest_length: number, radius: number): void; /** * @returns {number} */ num_wheels(): number; /** * @param {number} dt * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawQueryPipeline} queries * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {Function} filter_predicate */ update_vehicle(dt: number, bodies: RawRigidBodySet, colliders: RawColliderSet, queries: RawQueryPipeline, filter_flags: number, filter_groups: number | undefined, filter_predicate: Function): void; /** * @param {number} i * @returns {RawVector | undefined} */ wheel_chassis_connection_point_cs(i: number): RawVector | undefined; /** * @param {number} i * @param {RawVector} value */ set_wheel_chassis_connection_point_cs(i: number, value: RawVector): void; /** * @param {number} i * @returns {number | undefined} */ wheel_suspension_rest_length(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_suspension_rest_length(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_max_suspension_travel(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_max_suspension_travel(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_radius(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_radius(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_suspension_stiffness(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_suspension_stiffness(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_suspension_compression(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_suspension_compression(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_suspension_relaxation(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_suspension_relaxation(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_max_suspension_force(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_max_suspension_force(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_brake(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_brake(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_steering(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_steering(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_engine_force(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_engine_force(i: number, value: number): void; /** * @param {number} i * @returns {RawVector | undefined} */ wheel_direction_cs(i: number): RawVector | undefined; /** * @param {number} i * @param {RawVector} value */ set_wheel_direction_cs(i: number, value: RawVector): void; /** * @param {number} i * @returns {RawVector | undefined} */ wheel_axle_cs(i: number): RawVector | undefined; /** * @param {number} i * @param {RawVector} value */ set_wheel_axle_cs(i: number, value: RawVector): void; /** * @param {number} i * @returns {number | undefined} */ wheel_friction_slip(i: number): number | undefined; /** * @param {number} i * @param {number} value */ set_wheel_friction_slip(i: number, value: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_side_friction_stiffness(i: number): number | undefined; /** * @param {number} i * @param {number} stiffness */ set_wheel_side_friction_stiffness(i: number, stiffness: number): void; /** * @param {number} i * @returns {number | undefined} */ wheel_rotation(i: number): number | undefined; /** * @param {number} i * @returns {number | undefined} */ wheel_forward_impulse(i: number): number | undefined; /** * @param {number} i * @returns {number | undefined} */ wheel_side_impulse(i: number): number | undefined; /** * @param {number} i * @returns {number | undefined} */ wheel_suspension_force(i: number): number | undefined; /** * @param {number} i * @returns {RawVector | undefined} */ wheel_contact_normal_ws(i: number): RawVector | undefined; /** * @param {number} i * @returns {RawVector | undefined} */ wheel_contact_point_ws(i: number): RawVector | undefined; /** * @param {number} i * @returns {number | undefined} */ wheel_suspension_length(i: number): number | undefined; /** * @param {number} i * @returns {RawVector | undefined} */ wheel_hard_point_ws(i: number): RawVector | undefined; /** * @param {number} i * @returns {boolean} */ wheel_is_in_contact(i: number): boolean; /** * @param {number} i * @returns {number | undefined} */ wheel_ground_object(i: number): number | undefined; } /** * A structure responsible for collecting events generated * by the physics engine. */ export class RawEventQueue { free(): void; /** * Creates a new event collector. * * # Parameters * - `autoDrain`: setting this to `true` is strongly recommended. If true, the collector will * be automatically drained before each `world.step(collector)`. If false, the collector will * keep all events in memory unless it is manually drained/cleared; this may lead to unbounded use of * RAM if no drain is performed. * @param {boolean} autoDrain */ constructor(autoDrain: boolean); /** * Applies the given javascript closure on each collision event of this collector, then clear * the internal collision event buffer. * * # Parameters * - `f(handle1, handle2, started)`: JavaScript closure applied to each collision event. The * closure should take three arguments: two integers representing the handles of the colliders * involved in the collision, and a boolean indicating if the collision started (true) or stopped * (false). * @param {Function} f */ drainCollisionEvents(f: Function): void; /** * @param {Function} f */ drainContactForceEvents(f: Function): void; /** * Removes all events contained by this collector. */ clear(): void; } /** */ export class RawGenericJoint { free(): void; /** * Creates a new joint descriptor that builds generic joints. * * Generic joints allow arbitrary axes of freedom to be selected * for the joint from the available 6 degrees of freedom. * @param {RawVector} anchor1 * @param {RawVector} anchor2 * @param {RawVector} axis * @param {number} lockedAxes * @returns {RawGenericJoint | undefined} */ static generic(anchor1: RawVector, anchor2: RawVector, axis: RawVector, lockedAxes: number): RawGenericJoint | undefined; /** * @param {number} rest_length * @param {number} stiffness * @param {number} damping * @param {RawVector} anchor1 * @param {RawVector} anchor2 * @returns {RawGenericJoint} */ static spring(rest_length: number, stiffness: number, damping: number, anchor1: RawVector, anchor2: RawVector): RawGenericJoint; /** * @param {number} length * @param {RawVector} anchor1 * @param {RawVector} anchor2 * @returns {RawGenericJoint} */ static rope(length: number, anchor1: RawVector, anchor2: RawVector): RawGenericJoint; /** * Create a new joint descriptor that builds spherical joints. * * A spherical joints allows three relative rotational degrees of freedom * by preventing any relative translation between the anchors of the * two attached rigid-bodies. * @param {RawVector} anchor1 * @param {RawVector} anchor2 * @returns {RawGenericJoint} */ static spherical(anchor1: RawVector, anchor2: RawVector): RawGenericJoint; /** * Creates a new joint descriptor that builds a Prismatic joint. * * A prismatic joint removes all the degrees of freedom between the * affected bodies, except for the translation along one axis. * * Returns `None` if any of the provided axes cannot be normalized. * @param {RawVector} anchor1 * @param {RawVector} anchor2 * @param {RawVector} axis * @param {boolean} limitsEnabled * @param {number} limitsMin * @param {number} limitsMax * @returns {RawGenericJoint | undefined} */ static prismatic(anchor1: RawVector, anchor2: RawVector, axis: RawVector, limitsEnabled: boolean, limitsMin: number, limitsMax: number): RawGenericJoint | undefined; /** * Creates a new joint descriptor that builds a Fixed joint. * * A fixed joint removes all the degrees of freedom between the affected bodies. * @param {RawVector} anchor1 * @param {RawRotation} axes1 * @param {RawVector} anchor2 * @param {RawRotation} axes2 * @returns {RawGenericJoint} */ static fixed(anchor1: RawVector, axes1: RawRotation, anchor2: RawVector, axes2: RawRotation): RawGenericJoint; /** * Create a new joint descriptor that builds Revolute joints. * * A revolute joint removes all degrees of freedom between the affected * bodies except for the rotation along one axis. * @param {RawVector} anchor1 * @param {RawVector} anchor2 * @param {RawVector} axis * @returns {RawGenericJoint | undefined} */ static revolute(anchor1: RawVector, anchor2: RawVector, axis: RawVector): RawGenericJoint | undefined; } /** */ export class RawImpulseJointSet { free(): void; /** * The type of this joint. * @param {number} handle * @returns {RawJointType} */ jointType(handle: number): RawJointType; /** * The unique integer identifier of the first rigid-body this joint it attached to. * @param {number} handle * @returns {number} */ jointBodyHandle1(handle: number): number; /** * The unique integer identifier of the second rigid-body this joint is attached to. * @param {number} handle * @returns {number} */ jointBodyHandle2(handle: number): number; /** * The angular part of the joint’s local frame relative to the first rigid-body it is attached to. * @param {number} handle * @returns {RawRotation} */ jointFrameX1(handle: number): RawRotation; /** * The angular part of the joint’s local frame relative to the second rigid-body it is attached to. * @param {number} handle * @returns {RawRotation} */ jointFrameX2(handle: number): RawRotation; /** * The position of the first anchor of this joint. * * The first anchor gives the position of the points application point on the * local frame of the first rigid-body it is attached to. * @param {number} handle * @returns {RawVector} */ jointAnchor1(handle: number): RawVector; /** * The position of the second anchor of this joint. * * The second anchor gives the position of the points application point on the * local frame of the second rigid-body it is attached to. * @param {number} handle * @returns {RawVector} */ jointAnchor2(handle: number): RawVector; /** * Sets the position of the first local anchor * @param {number} handle * @param {RawVector} newPos */ jointSetAnchor1(handle: number, newPos: RawVector): void; /** * Sets the position of the second local anchor * @param {number} handle * @param {RawVector} newPos */ jointSetAnchor2(handle: number, newPos: RawVector): void; /** * Are contacts between the rigid-bodies attached by this joint enabled? * @param {number} handle * @returns {boolean} */ jointContactsEnabled(handle: number): boolean; /** * Sets whether contacts are enabled between the rigid-bodies attached by this joint. * @param {number} handle * @param {boolean} enabled */ jointSetContactsEnabled(handle: number, enabled: boolean): void; /** * Are the limits for this joint enabled? * @param {number} handle * @param {RawJointAxis} axis * @returns {boolean} */ jointLimitsEnabled(handle: number, axis: RawJointAxis): boolean; /** * Return the lower limit along the given joint axis. * @param {number} handle * @param {RawJointAxis} axis * @returns {number} */ jointLimitsMin(handle: number, axis: RawJointAxis): number; /** * If this is a prismatic joint, returns its upper limit. * @param {number} handle * @param {RawJointAxis} axis * @returns {number} */ jointLimitsMax(handle: number, axis: RawJointAxis): number; /** * Enables and sets the joint limits * @param {number} handle * @param {RawJointAxis} axis * @param {number} min * @param {number} max */ jointSetLimits(handle: number, axis: RawJointAxis, min: number, max: number): void; /** * @param {number} handle * @param {RawJointAxis} axis * @param {RawMotorModel} model */ jointConfigureMotorModel(handle: number, axis: RawJointAxis, model: RawMotorModel): void; /** * @param {number} handle * @param {RawJointAxis} axis * @param {number} targetVel * @param {number} factor */ jointConfigureMotorVelocity(handle: number, axis: RawJointAxis, targetVel: number, factor: number): void; /** * @param {number} handle * @param {RawJointAxis} axis * @param {number} targetPos * @param {number} stiffness * @param {number} damping */ jointConfigureMotorPosition(handle: number, axis: RawJointAxis, targetPos: number, stiffness: number, damping: number): void; /** * @param {number} handle * @param {RawJointAxis} axis * @param {number} targetPos * @param {number} targetVel * @param {number} stiffness * @param {number} damping */ jointConfigureMotor(handle: number, axis: RawJointAxis, targetPos: number, targetVel: number, stiffness: number, damping: number): void; /** */ constructor(); /** * @param {RawGenericJoint} params * @param {number} parent1 * @param {number} parent2 * @param {boolean} wake_up * @returns {number} */ createJoint(params: RawGenericJoint, parent1: number, parent2: number, wake_up: boolean): number; /** * @param {number} handle * @param {boolean} wakeUp */ remove(handle: number, wakeUp: boolean): void; /** * @returns {number} */ len(): number; /** * @param {number} handle * @returns {boolean} */ contains(handle: number): boolean; /** * Applies the given JavaScript function to the integer handle of each joint managed by this physics world. * * # Parameters * - `f(handle)`: the function to apply to the integer handle of each joint managed by this set. Called as `f(collider)`. * @param {Function} f */ forEachJointHandle(f: Function): void; /** * Applies the given JavaScript function to the integer handle of each joint attached to the given rigid-body. * * # Parameters * - `f(handle)`: the function to apply to the integer handle of each joint attached to the rigid-body. Called as `f(collider)`. * @param {number} body * @param {Function} f */ forEachJointAttachedToRigidBody(body: number, f: Function): void; } /** */ export class RawIntegrationParameters { free(): void; /** */ constructor(); /** */ switchToStandardPgsSolver(): void; /** */ switchToSmallStepsPgsSolver(): void; /** */ allowedLinearError: number; /** */ dt: number; /** */ erp: number; /** */ maxCcdSubsteps: number; /** */ minIslandSize: number; /** */ numAdditionalFrictionIterations: number; /** */ numInternalPgsIterations: number; /** */ numSolverIterations: number; /** */ predictionDistance: number; } /** */ export class RawIslandManager { free(): void; /** */ constructor(); /** * Applies the given JavaScript function to the integer handle of each active rigid-body * managed by this island manager. * * After a short time of inactivity, a rigid-body is automatically deactivated ("asleep") by * the physics engine in order to save computational power. A sleeping rigid-body never moves * unless it is moved manually by the user. * * # Parameters * - `f(handle)`: the function to apply to the integer handle of each active rigid-body managed by this * set. Called as `f(collider)`. * @param {Function} f */ forEachActiveRigidBodyHandle(f: Function): void; } /** */ export class RawKinematicCharacterController { free(): void; /** * @param {number} offset */ constructor(offset: number); /** * @returns {RawVector} */ up(): RawVector; /** * @param {RawVector} vector */ setUp(vector: RawVector): void; /** * @returns {number} */ offset(): number; /** * @param {number} value */ setOffset(value: number): void; /** * @returns {boolean} */ slideEnabled(): boolean; /** * @param {boolean} enabled */ setSlideEnabled(enabled: boolean): void; /** * @returns {number | undefined} */ autostepMaxHeight(): number | undefined; /** * @returns {number | undefined} */ autostepMinWidth(): number | undefined; /** * @returns {boolean | undefined} */ autostepIncludesDynamicBodies(): boolean | undefined; /** * @returns {boolean} */ autostepEnabled(): boolean; /** * @param {number} maxHeight * @param {number} minWidth * @param {boolean} includeDynamicBodies */ enableAutostep(maxHeight: number, minWidth: number, includeDynamicBodies: boolean): void; /** */ disableAutostep(): void; /** * @returns {number} */ maxSlopeClimbAngle(): number; /** * @param {number} angle */ setMaxSlopeClimbAngle(angle: number): void; /** * @returns {number} */ minSlopeSlideAngle(): number; /** * @param {number} angle */ setMinSlopeSlideAngle(angle: number): void; /** * @returns {number | undefined} */ snapToGroundDistance(): number | undefined; /** * @param {number} distance */ enableSnapToGround(distance: number): void; /** */ disableSnapToGround(): void; /** * @returns {boolean} */ snapToGroundEnabled(): boolean; /** * @param {number} dt * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawQueryPipeline} queries * @param {number} collider_handle * @param {RawVector} desired_translation_delta * @param {boolean} apply_impulses_to_dynamic_bodies * @param {number | undefined} character_mass * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {Function} filter_predicate */ computeColliderMovement(dt: number, bodies: RawRigidBodySet, colliders: RawColliderSet, queries: RawQueryPipeline, collider_handle: number, desired_translation_delta: RawVector, apply_impulses_to_dynamic_bodies: boolean, character_mass: number | undefined, filter_flags: number, filter_groups: number | undefined, filter_predicate: Function): void; /** * @returns {RawVector} */ computedMovement(): RawVector; /** * @returns {boolean} */ computedGrounded(): boolean; /** * @returns {number} */ numComputedCollisions(): number; /** * @param {number} i * @param {RawCharacterCollision} collision * @returns {boolean} */ computedCollision(i: number, collision: RawCharacterCollision): boolean; } /** */ export class RawMultibodyJointSet { free(): void; /** * The type of this joint. * @param {number} handle * @returns {RawJointType} */ jointType(handle: number): RawJointType; /** * The angular part of the joint’s local frame relative to the first rigid-body it is attached to. * @param {number} handle * @returns {RawRotation} */ jointFrameX1(handle: number): RawRotation; /** * The angular part of the joint’s local frame relative to the second rigid-body it is attached to. * @param {number} handle * @returns {RawRotation} */ jointFrameX2(handle: number): RawRotation; /** * The position of the first anchor of this joint. * * The first anchor gives the position of the points application point on the * local frame of the first rigid-body it is attached to. * @param {number} handle * @returns {RawVector} */ jointAnchor1(handle: number): RawVector; /** * The position of the second anchor of this joint. * * The second anchor gives the position of the points application point on the * local frame of the second rigid-body it is attached to. * @param {number} handle * @returns {RawVector} */ jointAnchor2(handle: number): RawVector; /** * Are contacts between the rigid-bodies attached by this joint enabled? * @param {number} handle * @returns {boolean} */ jointContactsEnabled(handle: number): boolean; /** * Sets whether contacts are enabled between the rigid-bodies attached by this joint. * @param {number} handle * @param {boolean} enabled */ jointSetContactsEnabled(handle: number, enabled: boolean): void; /** * Are the limits for this joint enabled? * @param {number} handle * @param {RawJointAxis} axis * @returns {boolean} */ jointLimitsEnabled(handle: number, axis: RawJointAxis): boolean; /** * Return the lower limit along the given joint axis. * @param {number} handle * @param {RawJointAxis} axis * @returns {number} */ jointLimitsMin(handle: number, axis: RawJointAxis): number; /** * If this is a prismatic joint, returns its upper limit. * @param {number} handle * @param {RawJointAxis} axis * @returns {number} */ jointLimitsMax(handle: number, axis: RawJointAxis): number; /** */ constructor(); /** * @param {RawGenericJoint} params * @param {number} parent1 * @param {number} parent2 * @param {boolean} wakeUp * @returns {number} */ createJoint(params: RawGenericJoint, parent1: number, parent2: number, wakeUp: boolean): number; /** * @param {number} handle * @param {boolean} wakeUp */ remove(handle: number, wakeUp: boolean): void; /** * @param {number} handle * @returns {boolean} */ contains(handle: number): boolean; /** * Applies the given JavaScript function to the integer handle of each joint managed by this physics world. * * # Parameters * - `f(handle)`: the function to apply to the integer handle of each joint managed by this set. Called as `f(collider)`. * @param {Function} f */ forEachJointHandle(f: Function): void; /** * Applies the given JavaScript function to the integer handle of each joint attached to the given rigid-body. * * # Parameters * - `f(handle)`: the function to apply to the integer handle of each joint attached to the rigid-body. Called as `f(collider)`. * @param {number} body * @param {Function} f */ forEachJointAttachedToRigidBody(body: number, f: Function): void; } /** */ export class RawNarrowPhase { free(): void; /** */ constructor(); /** * @param {number} handle1 * @param {Function} f */ contact_pairs_with(handle1: number, f: Function): void; /** * @param {number} handle1 * @param {number} handle2 * @returns {RawContactPair | undefined} */ contact_pair(handle1: number, handle2: number): RawContactPair | undefined; /** * @param {number} handle1 * @param {Function} f */ intersection_pairs_with(handle1: number, f: Function): void; /** * @param {number} handle1 * @param {number} handle2 * @returns {boolean} */ intersection_pair(handle1: number, handle2: number): boolean; } /** */ export class RawPhysicsPipeline { free(): void; /** */ constructor(); /** * @param {RawVector} gravity * @param {RawIntegrationParameters} integrationParameters * @param {RawIslandManager} islands * @param {RawBroadPhase} broadPhase * @param {RawNarrowPhase} narrowPhase * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawImpulseJointSet} joints * @param {RawMultibodyJointSet} articulations * @param {RawCCDSolver} ccd_solver */ step(gravity: RawVector, integrationParameters: RawIntegrationParameters, islands: RawIslandManager, broadPhase: RawBroadPhase, narrowPhase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, joints: RawImpulseJointSet, articulations: RawMultibodyJointSet, ccd_solver: RawCCDSolver): void; /** * @param {RawVector} gravity * @param {RawIntegrationParameters} integrationParameters * @param {RawIslandManager} islands * @param {RawBroadPhase} broadPhase * @param {RawNarrowPhase} narrowPhase * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawImpulseJointSet} joints * @param {RawMultibodyJointSet} articulations * @param {RawCCDSolver} ccd_solver * @param {RawEventQueue} eventQueue * @param {object} hookObject * @param {Function} hookFilterContactPair * @param {Function} hookFilterIntersectionPair */ stepWithEvents(gravity: RawVector, integrationParameters: RawIntegrationParameters, islands: RawIslandManager, broadPhase: RawBroadPhase, narrowPhase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, joints: RawImpulseJointSet, articulations: RawMultibodyJointSet, ccd_solver: RawCCDSolver, eventQueue: RawEventQueue, hookObject: object, hookFilterContactPair: Function, hookFilterIntersectionPair: Function): void; } /** */ export class RawPointColliderProjection { free(): void; /** * @returns {number} */ colliderHandle(): number; /** * @returns {RawVector} */ point(): RawVector; /** * @returns {boolean} */ isInside(): boolean; /** * @returns {RawFeatureType} */ featureType(): RawFeatureType; /** * @returns {number | undefined} */ featureId(): number | undefined; } /** */ export class RawPointProjection { free(): void; /** * @returns {RawVector} */ point(): RawVector; /** * @returns {boolean} */ isInside(): boolean; } /** */ export class RawQueryPipeline { free(): void; /** */ constructor(); /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders */ update(bodies: RawRigidBodySet, colliders: RawColliderSet): void; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @param {boolean} solid * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate * @returns {RawRayColliderToi | undefined} */ castRay(bodies: RawRigidBodySet, colliders: RawColliderSet, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): RawRayColliderToi | undefined; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @param {boolean} solid * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate * @returns {RawRayColliderIntersection | undefined} */ castRayAndGetNormal(bodies: RawRigidBodySet, colliders: RawColliderSet, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): RawRayColliderIntersection | undefined; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @param {boolean} solid * @param {Function} callback * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate */ intersectionsWithRay(bodies: RawRigidBodySet, colliders: RawColliderSet, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean, callback: Function, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): void; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} shapePos * @param {RawRotation} shapeRot * @param {RawShape} shape * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate * @returns {number | undefined} */ intersectionWithShape(bodies: RawRigidBodySet, colliders: RawColliderSet, shapePos: RawVector, shapeRot: RawRotation, shape: RawShape, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): number | undefined; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} point * @param {boolean} solid * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate * @returns {RawPointColliderProjection | undefined} */ projectPoint(bodies: RawRigidBodySet, colliders: RawColliderSet, point: RawVector, solid: boolean, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): RawPointColliderProjection | undefined; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} point * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate * @returns {RawPointColliderProjection | undefined} */ projectPointAndGetFeature(bodies: RawRigidBodySet, colliders: RawColliderSet, point: RawVector, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): RawPointColliderProjection | undefined; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} point * @param {Function} callback * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate */ intersectionsWithPoint(bodies: RawRigidBodySet, colliders: RawColliderSet, point: RawVector, callback: Function, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): void; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} shapePos * @param {RawRotation} shapeRot * @param {RawVector} shapeVel * @param {RawShape} shape * @param {number} maxToi * @param {boolean} stop_at_penetration * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate * @returns {RawShapeColliderTOI | undefined} */ castShape(bodies: RawRigidBodySet, colliders: RawColliderSet, shapePos: RawVector, shapeRot: RawRotation, shapeVel: RawVector, shape: RawShape, maxToi: number, stop_at_penetration: boolean, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): RawShapeColliderTOI | undefined; /** * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawVector} shapePos * @param {RawRotation} shapeRot * @param {RawShape} shape * @param {Function} callback * @param {number} filter_flags * @param {number | undefined} filter_groups * @param {number | undefined} filter_exclude_collider * @param {number | undefined} filter_exclude_rigid_body * @param {Function} filter_predicate */ intersectionsWithShape(bodies: RawRigidBodySet, colliders: RawColliderSet, shapePos: RawVector, shapeRot: RawRotation, shape: RawShape, callback: Function, filter_flags: number, filter_groups: number | undefined, filter_exclude_collider: number | undefined, filter_exclude_rigid_body: number | undefined, filter_predicate: Function): void; /** * @param {RawVector} aabbCenter * @param {RawVector} aabbHalfExtents * @param {Function} callback */ collidersWithAabbIntersectingAabb(aabbCenter: RawVector, aabbHalfExtents: RawVector, callback: Function): void; } /** */ export class RawRayColliderIntersection { free(): void; /** * @returns {number} */ colliderHandle(): number; /** * @returns {RawVector} */ normal(): RawVector; /** * @returns {number} */ toi(): number; /** * @returns {RawFeatureType} */ featureType(): RawFeatureType; /** * @returns {number | undefined} */ featureId(): number | undefined; } /** */ export class RawRayColliderToi { free(): void; /** * @returns {number} */ colliderHandle(): number; /** * @returns {number} */ toi(): number; } /** */ export class RawRayIntersection { free(): void; /** * @returns {RawVector} */ normal(): RawVector; /** * @returns {number} */ toi(): number; /** * @returns {RawFeatureType} */ featureType(): RawFeatureType; /** * @returns {number | undefined} */ featureId(): number | undefined; } /** */ export class RawRigidBodySet { free(): void; /** * The world-space translation of this rigid-body. * @param {number} handle * @returns {RawVector} */ rbTranslation(handle: number): RawVector; /** * The world-space orientation of this rigid-body. * @param {number} handle * @returns {RawRotation} */ rbRotation(handle: number): RawRotation; /** * Put the given rigid-body to sleep. * @param {number} handle */ rbSleep(handle: number): void; /** * Is this rigid-body sleeping? * @param {number} handle * @returns {boolean} */ rbIsSleeping(handle: number): boolean; /** * Is the velocity of this rigid-body not zero? * @param {number} handle * @returns {boolean} */ rbIsMoving(handle: number): boolean; /** * The world-space predicted translation of this rigid-body. * * If this rigid-body is kinematic this value is set by the `setNextKinematicTranslation` * method and is used for estimating the kinematic body velocity at the next timestep. * For non-kinematic bodies, this value is currently unspecified. * @param {number} handle * @returns {RawVector} */ rbNextTranslation(handle: number): RawVector; /** * The world-space predicted orientation of this rigid-body. * * If this rigid-body is kinematic this value is set by the `setNextKinematicRotation` * method and is used for estimating the kinematic body velocity at the next timestep. * For non-kinematic bodies, this value is currently unspecified. * @param {number} handle * @returns {RawRotation} */ rbNextRotation(handle: number): RawRotation; /** * Sets the translation of this rigid-body. * * # Parameters * - `x`: the world-space position of the rigid-body along the `x` axis. * - `y`: the world-space position of the rigid-body along the `y` axis. * - `z`: the world-space position of the rigid-body along the `z` axis. * - `wakeUp`: forces the rigid-body to wake-up so it is properly affected by forces if it * wasn't moving before modifying its position. * @param {number} handle * @param {number} x * @param {number} y * @param {number} z * @param {boolean} wakeUp */ rbSetTranslation(handle: number, x: number, y: number, z: number, wakeUp: boolean): void; /** * Sets the rotation quaternion of this rigid-body. * * This does nothing if a zero quaternion is provided. * * # Parameters * - `x`: the first vector component of the quaternion. * - `y`: the second vector component of the quaternion. * - `z`: the third vector component of the quaternion. * - `w`: the scalar component of the quaternion. * - `wakeUp`: forces the rigid-body to wake-up so it is properly affected by forces if it * wasn't moving before modifying its position. * @param {number} handle * @param {number} x * @param {number} y * @param {number} z * @param {number} w * @param {boolean} wakeUp */ rbSetRotation(handle: number, x: number, y: number, z: number, w: number, wakeUp: boolean): void; /** * Sets the linear velocity of this rigid-body. * @param {number} handle * @param {RawVector} linvel * @param {boolean} wakeUp */ rbSetLinvel(handle: number, linvel: RawVector, wakeUp: boolean): void; /** * Sets the angular velocity of this rigid-body. * @param {number} handle * @param {RawVector} angvel * @param {boolean} wakeUp */ rbSetAngvel(handle: number, angvel: RawVector, wakeUp: boolean): void; /** * If this rigid body is kinematic, sets its future translation after the next timestep integration. * * This should be used instead of `rigidBody.setTranslation` to make the dynamic object * interacting with this kinematic body behave as expected. Internally, Rapier will compute * an artificial velocity for this rigid-body from its current position and its next kinematic * position. This velocity will be used to compute forces on dynamic bodies interacting with * this body. * * # Parameters * - `x`: the world-space position of the rigid-body along the `x` axis. * - `y`: the world-space position of the rigid-body along the `y` axis. * - `z`: the world-space position of the rigid-body along the `z` axis. * @param {number} handle * @param {number} x * @param {number} y * @param {number} z */ rbSetNextKinematicTranslation(handle: number, x: number, y: number, z: number): void; /** * If this rigid body is kinematic, sets its future rotation after the next timestep integration. * * This should be used instead of `rigidBody.setRotation` to make the dynamic object * interacting with this kinematic body behave as expected. Internally, Rapier will compute * an artificial velocity for this rigid-body from its current position and its next kinematic * position. This velocity will be used to compute forces on dynamic bodies interacting with * this body. * * # Parameters * - `x`: the first vector component of the quaternion. * - `y`: the second vector component of the quaternion. * - `z`: the third vector component of the quaternion. * - `w`: the scalar component of the quaternion. * @param {number} handle * @param {number} x * @param {number} y * @param {number} z * @param {number} w */ rbSetNextKinematicRotation(handle: number, x: number, y: number, z: number, w: number): void; /** * @param {number} handle * @param {RawColliderSet} colliders */ rbRecomputeMassPropertiesFromColliders(handle: number, colliders: RawColliderSet): void; /** * @param {number} handle * @param {number} mass * @param {boolean} wake_up */ rbSetAdditionalMass(handle: number, mass: number, wake_up: boolean): void; /** * @param {number} handle * @param {number} mass * @param {RawVector} centerOfMass * @param {RawVector} principalAngularInertia * @param {RawRotation} angularInertiaFrame * @param {boolean} wake_up */ rbSetAdditionalMassProperties(handle: number, mass: number, centerOfMass: RawVector, principalAngularInertia: RawVector, angularInertiaFrame: RawRotation, wake_up: boolean): void; /** * The linear velocity of this rigid-body. * @param {number} handle * @returns {RawVector} */ rbLinvel(handle: number): RawVector; /** * The angular velocity of this rigid-body. * @param {number} handle * @returns {RawVector} */ rbAngvel(handle: number): RawVector; /** * @param {number} handle * @param {boolean} locked * @param {boolean} wake_up */ rbLockTranslations(handle: number, locked: boolean, wake_up: boolean): void; /** * @param {number} handle * @param {boolean} allow_x * @param {boolean} allow_y * @param {boolean} allow_z * @param {boolean} wake_up */ rbSetEnabledTranslations(handle: number, allow_x: boolean, allow_y: boolean, allow_z: boolean, wake_up: boolean): void; /** * @param {number} handle * @param {boolean} locked * @param {boolean} wake_up */ rbLockRotations(handle: number, locked: boolean, wake_up: boolean): void; /** * @param {number} handle * @param {boolean} allow_x * @param {boolean} allow_y * @param {boolean} allow_z * @param {boolean} wake_up */ rbSetEnabledRotations(handle: number, allow_x: boolean, allow_y: boolean, allow_z: boolean, wake_up: boolean): void; /** * @param {number} handle * @returns {number} */ rbDominanceGroup(handle: number): number; /** * @param {number} handle * @param {number} group */ rbSetDominanceGroup(handle: number, group: number): void; /** * @param {number} handle * @param {boolean} enabled */ rbEnableCcd(handle: number, enabled: boolean): void; /** * The mass of this rigid-body. * @param {number} handle * @returns {number} */ rbMass(handle: number): number; /** * The inverse of the mass of a rigid-body. * * If this is zero, the rigid-body is assumed to have infinite mass. * @param {number} handle * @returns {number} */ rbInvMass(handle: number): number; /** * The inverse mass taking into account translation locking. * @param {number} handle * @returns {RawVector} */ rbEffectiveInvMass(handle: number): RawVector; /** * The center of mass of a rigid-body expressed in its local-space. * @param {number} handle * @returns {RawVector} */ rbLocalCom(handle: number): RawVector; /** * The world-space center of mass of the rigid-body. * @param {number} handle * @returns {RawVector} */ rbWorldCom(handle: number): RawVector; /** * The inverse of the principal angular inertia of the rigid-body. * * Components set to zero are assumed to be infinite along the corresponding principal axis. * @param {number} handle * @returns {RawVector} */ rbInvPrincipalInertiaSqrt(handle: number): RawVector; /** * The principal vectors of the local angular inertia tensor of the rigid-body. * @param {number} handle * @returns {RawRotation} */ rbPrincipalInertiaLocalFrame(handle: number): RawRotation; /** * The angular inertia along the principal inertia axes of the rigid-body. * @param {number} handle * @returns {RawVector} */ rbPrincipalInertia(handle: number): RawVector; /** * The square-root of the world-space inverse angular inertia tensor of the rigid-body, * taking into account rotation locking. * @param {number} handle * @returns {RawSdpMatrix3} */ rbEffectiveWorldInvInertiaSqrt(handle: number): RawSdpMatrix3; /** * The effective world-space angular inertia (that takes the potential rotation locking into account) of * this rigid-body. * @param {number} handle * @returns {RawSdpMatrix3} */ rbEffectiveAngularInertia(handle: number): RawSdpMatrix3; /** * Wakes this rigid-body up. * * A dynamic rigid-body that does not move during several consecutive frames will * be put to sleep by the physics engine, i.e., it will stop being simulated in order * to avoid useless computations. * This methods forces a sleeping rigid-body to wake-up. This is useful, e.g., before modifying * the position of a dynamic body so that it is properly simulated afterwards. * @param {number} handle */ rbWakeUp(handle: number): void; /** * Is Continuous Collision Detection enabled for this rigid-body? * @param {number} handle * @returns {boolean} */ rbIsCcdEnabled(handle: number): boolean; /** * The number of colliders attached to this rigid-body. * @param {number} handle * @returns {number} */ rbNumColliders(handle: number): number; /** * Retrieves the `i-th` collider attached to this rigid-body. * * # Parameters * - `at`: The index of the collider to retrieve. Must be a number in `[0, this.numColliders()[`. * This index is **not** the same as the unique identifier of the collider. * @param {number} handle * @param {number} at * @returns {number} */ rbCollider(handle: number, at: number): number; /** * The status of this rigid-body: fixed, dynamic, or kinematic. * @param {number} handle * @returns {RawRigidBodyType} */ rbBodyType(handle: number): RawRigidBodyType; /** * Set a new status for this rigid-body: fixed, dynamic, or kinematic. * @param {number} handle * @param {RawRigidBodyType} status * @param {boolean} wake_up */ rbSetBodyType(handle: number, status: RawRigidBodyType, wake_up: boolean): void; /** * Is this rigid-body fixed? * @param {number} handle * @returns {boolean} */ rbIsFixed(handle: number): boolean; /** * Is this rigid-body kinematic? * @param {number} handle * @returns {boolean} */ rbIsKinematic(handle: number): boolean; /** * Is this rigid-body dynamic? * @param {number} handle * @returns {boolean} */ rbIsDynamic(handle: number): boolean; /** * The linear damping coefficient of this rigid-body. * @param {number} handle * @returns {number} */ rbLinearDamping(handle: number): number; /** * The angular damping coefficient of this rigid-body. * @param {number} handle * @returns {number} */ rbAngularDamping(handle: number): number; /** * @param {number} handle * @param {number} factor */ rbSetLinearDamping(handle: number, factor: number): void; /** * @param {number} handle * @param {number} factor */ rbSetAngularDamping(handle: number, factor: number): void; /** * @param {number} handle * @param {boolean} enabled */ rbSetEnabled(handle: number, enabled: boolean): void; /** * @param {number} handle * @returns {boolean} */ rbIsEnabled(handle: number): boolean; /** * @param {number} handle * @returns {number} */ rbGravityScale(handle: number): number; /** * @param {number} handle * @param {number} factor * @param {boolean} wakeUp */ rbSetGravityScale(handle: number, factor: number, wakeUp: boolean): void; /** * Resets to zero all user-added forces added to this rigid-body. * @param {number} handle * @param {boolean} wakeUp */ rbResetForces(handle: number, wakeUp: boolean): void; /** * Resets to zero all user-added torques added to this rigid-body. * @param {number} handle * @param {boolean} wakeUp */ rbResetTorques(handle: number, wakeUp: boolean): void; /** * Adds a force at the center-of-mass of this rigid-body. * * # Parameters * - `force`: the world-space force to apply on the rigid-body. * - `wakeUp`: should the rigid-body be automatically woken-up? * @param {number} handle * @param {RawVector} force * @param {boolean} wakeUp */ rbAddForce(handle: number, force: RawVector, wakeUp: boolean): void; /** * Applies an impulse at the center-of-mass of this rigid-body. * * # Parameters * - `impulse`: the world-space impulse to apply on the rigid-body. * - `wakeUp`: should the rigid-body be automatically woken-up? * @param {number} handle * @param {RawVector} impulse * @param {boolean} wakeUp */ rbApplyImpulse(handle: number, impulse: RawVector, wakeUp: boolean): void; /** * Adds a torque at the center-of-mass of this rigid-body. * * # Parameters * - `torque`: the world-space torque to apply on the rigid-body. * - `wakeUp`: should the rigid-body be automatically woken-up? * @param {number} handle * @param {RawVector} torque * @param {boolean} wakeUp */ rbAddTorque(handle: number, torque: RawVector, wakeUp: boolean): void; /** * Applies an impulsive torque at the center-of-mass of this rigid-body. * * # Parameters * - `torque impulse`: the world-space torque impulse to apply on the rigid-body. * - `wakeUp`: should the rigid-body be automatically woken-up? * @param {number} handle * @param {RawVector} torque_impulse * @param {boolean} wakeUp */ rbApplyTorqueImpulse(handle: number, torque_impulse: RawVector, wakeUp: boolean): void; /** * Adds a force at the given world-space point of this rigid-body. * * # Parameters * - `force`: the world-space force to apply on the rigid-body. * - `point`: the world-space point where the impulse is to be applied on the rigid-body. * - `wakeUp`: should the rigid-body be automatically woken-up? * @param {number} handle * @param {RawVector} force * @param {RawVector} point * @param {boolean} wakeUp */ rbAddForceAtPoint(handle: number, force: RawVector, point: RawVector, wakeUp: boolean): void; /** * Applies an impulse at the given world-space point of this rigid-body. * * # Parameters * - `impulse`: the world-space impulse to apply on the rigid-body. * - `point`: the world-space point where the impulse is to be applied on the rigid-body. * - `wakeUp`: should the rigid-body be automatically woken-up? * @param {number} handle * @param {RawVector} impulse * @param {RawVector} point * @param {boolean} wakeUp */ rbApplyImpulseAtPoint(handle: number, impulse: RawVector, point: RawVector, wakeUp: boolean): void; /** * @param {number} handle * @returns {number} */ rbAdditionalSolverIterations(handle: number): number; /** * @param {number} handle * @param {number} iters */ rbSetAdditionalSolverIterations(handle: number, iters: number): void; /** * An arbitrary user-defined 32-bit integer * @param {number} handle * @returns {number} */ rbUserData(handle: number): number; /** * Sets the user-defined 32-bit integer of this rigid-body. * * # Parameters * - `data`: an arbitrary user-defined 32-bit integer. * @param {number} handle * @param {number} data */ rbSetUserData(handle: number, data: number): void; /** */ constructor(); /** * @param {boolean} enabled * @param {RawVector} translation * @param {RawRotation} rotation * @param {number} gravityScale * @param {number} mass * @param {boolean} massOnly * @param {RawVector} centerOfMass * @param {RawVector} linvel * @param {RawVector} angvel * @param {RawVector} principalAngularInertia * @param {RawRotation} angularInertiaFrame * @param {boolean} translationEnabledX * @param {boolean} translationEnabledY * @param {boolean} translationEnabledZ * @param {boolean} rotationEnabledX * @param {boolean} rotationEnabledY * @param {boolean} rotationEnabledZ * @param {number} linearDamping * @param {number} angularDamping * @param {RawRigidBodyType} rb_type * @param {boolean} canSleep * @param {boolean} sleeping * @param {boolean} ccdEnabled * @param {number} dominanceGroup * @param {number} additional_solver_iterations * @returns {number} */ createRigidBody(enabled: boolean, translation: RawVector, rotation: RawRotation, gravityScale: number, mass: number, massOnly: boolean, centerOfMass: RawVector, linvel: RawVector, angvel: RawVector, principalAngularInertia: RawVector, angularInertiaFrame: RawRotation, translationEnabledX: boolean, translationEnabledY: boolean, translationEnabledZ: boolean, rotationEnabledX: boolean, rotationEnabledY: boolean, rotationEnabledZ: boolean, linearDamping: number, angularDamping: number, rb_type: RawRigidBodyType, canSleep: boolean, sleeping: boolean, ccdEnabled: boolean, dominanceGroup: number, additional_solver_iterations: number): number; /** * @param {number} handle * @param {RawIslandManager} islands * @param {RawColliderSet} colliders * @param {RawImpulseJointSet} joints * @param {RawMultibodyJointSet} articulations */ remove(handle: number, islands: RawIslandManager, colliders: RawColliderSet, joints: RawImpulseJointSet, articulations: RawMultibodyJointSet): void; /** * The number of rigid-bodies on this set. * @returns {number} */ len(): number; /** * Checks if a rigid-body with the given integer handle exists. * @param {number} handle * @returns {boolean} */ contains(handle: number): boolean; /** * Applies the given JavaScript function to the integer handle of each rigid-body managed by this set. * * # Parameters * - `f(handle)`: the function to apply to the integer handle of each rigid-body managed by this set. Called as `f(collider)`. * @param {Function} f */ forEachRigidBodyHandle(f: Function): void; /** * @param {RawColliderSet} colliders */ propagateModifiedBodyPositionsToColliders(colliders: RawColliderSet): void; } /** * A rotation quaternion. */ export class RawRotation { free(): void; /** * @param {number} x * @param {number} y * @param {number} z * @param {number} w */ constructor(x: number, y: number, z: number, w: number); /** * The identity quaternion. * @returns {RawRotation} */ static identity(): RawRotation; /** * The `w` component of this quaternion. */ readonly w: number; /** * The `x` component of this quaternion. */ readonly x: number; /** * The `y` component of this quaternion. */ readonly y: number; /** * The `z` component of this quaternion. */ readonly z: number; } /** */ export class RawSdpMatrix3 { free(): void; /** * Row major list of the upper-triangular part of the symmetric matrix. * @returns {Float32Array} */ elements(): Float32Array; } /** */ export class RawSerializationPipeline { free(): void; /** */ constructor(); /** * @param {RawVector} gravity * @param {RawIntegrationParameters} integrationParameters * @param {RawIslandManager} islands * @param {RawBroadPhase} broadPhase * @param {RawNarrowPhase} narrowPhase * @param {RawRigidBodySet} bodies * @param {RawColliderSet} colliders * @param {RawImpulseJointSet} impulse_joints * @param {RawMultibodyJointSet} multibody_joints * @returns {Uint8Array | undefined} */ serializeAll(gravity: RawVector, integrationParameters: RawIntegrationParameters, islands: RawIslandManager, broadPhase: RawBroadPhase, narrowPhase: RawNarrowPhase, bodies: RawRigidBodySet, colliders: RawColliderSet, impulse_joints: RawImpulseJointSet, multibody_joints: RawMultibodyJointSet): Uint8Array | undefined; /** * @param {Uint8Array} data * @returns {RawDeserializedWorld | undefined} */ deserializeAll(data: Uint8Array): RawDeserializedWorld | undefined; } /** */ export class RawShape { free(): void; /** * @param {number} hx * @param {number} hy * @param {number} hz * @returns {RawShape} */ static cuboid(hx: number, hy: number, hz: number): RawShape; /** * @param {number} hx * @param {number} hy * @param {number} hz * @param {number} borderRadius * @returns {RawShape} */ static roundCuboid(hx: number, hy: number, hz: number, borderRadius: number): RawShape; /** * @param {number} radius * @returns {RawShape} */ static ball(radius: number): RawShape; /** * @param {RawVector} normal * @returns {RawShape} */ static halfspace(normal: RawVector): RawShape; /** * @param {number} halfHeight * @param {number} radius * @returns {RawShape} */ static capsule(halfHeight: number, radius: number): RawShape; /** * @param {number} halfHeight * @param {number} radius * @returns {RawShape} */ static cylinder(halfHeight: number, radius: number): RawShape; /** * @param {number} halfHeight * @param {number} radius * @param {number} borderRadius * @returns {RawShape} */ static roundCylinder(halfHeight: number, radius: number, borderRadius: number): RawShape; /** * @param {number} halfHeight * @param {number} radius * @returns {RawShape} */ static cone(halfHeight: number, radius: number): RawShape; /** * @param {number} halfHeight * @param {number} radius * @param {number} borderRadius * @returns {RawShape} */ static roundCone(halfHeight: number, radius: number, borderRadius: number): RawShape; /** * @param {Float32Array} vertices * @param {Uint32Array} indices * @returns {RawShape} */ static polyline(vertices: Float32Array, indices: Uint32Array): RawShape; /** * @param {Float32Array} vertices * @param {Uint32Array} indices * @returns {RawShape} */ static trimesh(vertices: Float32Array, indices: Uint32Array): RawShape; /** * @param {number} nrows * @param {number} ncols * @param {Float32Array} heights * @param {RawVector} scale * @returns {RawShape} */ static heightfield(nrows: number, ncols: number, heights: Float32Array, scale: RawVector): RawShape; /** * @param {RawVector} p1 * @param {RawVector} p2 * @returns {RawShape} */ static segment(p1: RawVector, p2: RawVector): RawShape; /** * @param {RawVector} p1 * @param {RawVector} p2 * @param {RawVector} p3 * @returns {RawShape} */ static triangle(p1: RawVector, p2: RawVector, p3: RawVector): RawShape; /** * @param {RawVector} p1 * @param {RawVector} p2 * @param {RawVector} p3 * @param {number} borderRadius * @returns {RawShape} */ static roundTriangle(p1: RawVector, p2: RawVector, p3: RawVector, borderRadius: number): RawShape; /** * @param {Float32Array} points * @returns {RawShape | undefined} */ static convexHull(points: Float32Array): RawShape | undefined; /** * @param {Float32Array} points * @param {number} borderRadius * @returns {RawShape | undefined} */ static roundConvexHull(points: Float32Array, borderRadius: number): RawShape | undefined; /** * @param {Float32Array} vertices * @param {Uint32Array} indices * @returns {RawShape | undefined} */ static convexMesh(vertices: Float32Array, indices: Uint32Array): RawShape | undefined; /** * @param {Float32Array} vertices * @param {Uint32Array} indices * @param {number} borderRadius * @returns {RawShape | undefined} */ static roundConvexMesh(vertices: Float32Array, indices: Uint32Array, borderRadius: number): RawShape | undefined; /** * @param {RawVector} shapePos1 * @param {RawRotation} shapeRot1 * @param {RawVector} shapeVel1 * @param {RawShape} shape2 * @param {RawVector} shapePos2 * @param {RawRotation} shapeRot2 * @param {RawVector} shapeVel2 * @param {number} maxToi * @param {boolean} stop_at_penetration * @returns {RawShapeTOI | undefined} */ castShape(shapePos1: RawVector, shapeRot1: RawRotation, shapeVel1: RawVector, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation, shapeVel2: RawVector, maxToi: number, stop_at_penetration: boolean): RawShapeTOI | undefined; /** * @param {RawVector} shapePos1 * @param {RawRotation} shapeRot1 * @param {RawShape} shape2 * @param {RawVector} shapePos2 * @param {RawRotation} shapeRot2 * @returns {boolean} */ intersectsShape(shapePos1: RawVector, shapeRot1: RawRotation, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation): boolean; /** * @param {RawVector} shapePos1 * @param {RawRotation} shapeRot1 * @param {RawShape} shape2 * @param {RawVector} shapePos2 * @param {RawRotation} shapeRot2 * @param {number} prediction * @returns {RawShapeContact | undefined} */ contactShape(shapePos1: RawVector, shapeRot1: RawRotation, shape2: RawShape, shapePos2: RawVector, shapeRot2: RawRotation, prediction: number): RawShapeContact | undefined; /** * @param {RawVector} shapePos * @param {RawRotation} shapeRot * @param {RawVector} point * @returns {boolean} */ containsPoint(shapePos: RawVector, shapeRot: RawRotation, point: RawVector): boolean; /** * @param {RawVector} shapePos * @param {RawRotation} shapeRot * @param {RawVector} point * @param {boolean} solid * @returns {RawPointProjection} */ projectPoint(shapePos: RawVector, shapeRot: RawRotation, point: RawVector, solid: boolean): RawPointProjection; /** * @param {RawVector} shapePos * @param {RawRotation} shapeRot * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @returns {boolean} */ intersectsRay(shapePos: RawVector, shapeRot: RawRotation, rayOrig: RawVector, rayDir: RawVector, maxToi: number): boolean; /** * @param {RawVector} shapePos * @param {RawRotation} shapeRot * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @param {boolean} solid * @returns {number} */ castRay(shapePos: RawVector, shapeRot: RawRotation, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean): number; /** * @param {RawVector} shapePos * @param {RawRotation} shapeRot * @param {RawVector} rayOrig * @param {RawVector} rayDir * @param {number} maxToi * @param {boolean} solid * @returns {RawRayIntersection | undefined} */ castRayAndGetNormal(shapePos: RawVector, shapeRot: RawRotation, rayOrig: RawVector, rayDir: RawVector, maxToi: number, solid: boolean): RawRayIntersection | undefined; } /** */ export class RawShapeColliderTOI { free(): void; /** * @returns {number} */ colliderHandle(): number; /** * @returns {number} */ toi(): number; /** * @returns {RawVector} */ witness1(): RawVector; /** * @returns {RawVector} */ witness2(): RawVector; /** * @returns {RawVector} */ normal1(): RawVector; /** * @returns {RawVector} */ normal2(): RawVector; } /** */ export class RawShapeContact { free(): void; /** * @returns {number} */ distance(): number; /** * @returns {RawVector} */ point1(): RawVector; /** * @returns {RawVector} */ point2(): RawVector; /** * @returns {RawVector} */ normal1(): RawVector; /** * @returns {RawVector} */ normal2(): RawVector; } /** */ export class RawShapeTOI { free(): void; /** * @returns {number} */ toi(): number; /** * @returns {RawVector} */ witness1(): RawVector; /** * @returns {RawVector} */ witness2(): RawVector; /** * @returns {RawVector} */ normal1(): RawVector; /** * @returns {RawVector} */ normal2(): RawVector; } /** * A vector. */ export class RawVector { free(): void; /** * Creates a new vector filled with zeros. * @returns {RawVector} */ static zero(): RawVector; /** * Creates a new 3D vector from its two components. * * # Parameters * - `x`: the `x` component of this 3D vector. * - `y`: the `y` component of this 3D vector. * - `z`: the `z` component of this 3D vector. * @param {number} x * @param {number} y * @param {number} z */ constructor(x: number, y: number, z: number); /** * Create a new 3D vector from this vector with its components rearranged as `{x, y, z}`. * * This will effectively return a copy of `this`. This method exist for completeness with the * other swizzling functions. * @returns {RawVector} */ xyz(): RawVector; /** * Create a new 3D vector from this vector with its components rearranged as `{y, x, z}`. * @returns {RawVector} */ yxz(): RawVector; /** * Create a new 3D vector from this vector with its components rearranged as `{z, x, y}`. * @returns {RawVector} */ zxy(): RawVector; /** * Create a new 3D vector from this vector with its components rearranged as `{x, z, y}`. * @returns {RawVector} */ xzy(): RawVector; /** * Create a new 3D vector from this vector with its components rearranged as `{y, z, x}`. * @returns {RawVector} */ yzx(): RawVector; /** * Create a new 3D vector from this vector with its components rearranged as `{z, y, x}`. * @returns {RawVector} */ zyx(): RawVector; /** * The `x` component of this vector. */ x: number; /** * The `y` component of this vector. */ y: number; /** * The `z` component of this vector. */ z: number; } export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly version: (a: number) => void; readonly __wbg_rawkinematiccharactercontroller_free: (a: number) => void; readonly rawkinematiccharactercontroller_new: (a: number) => number; readonly rawkinematiccharactercontroller_setUp: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_setOffset: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_slideEnabled: (a: number) => number; readonly rawkinematiccharactercontroller_setSlideEnabled: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_autostepMaxHeight: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_autostepMinWidth: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_autostepIncludesDynamicBodies: (a: number) => number; readonly rawkinematiccharactercontroller_autostepEnabled: (a: number) => number; readonly rawkinematiccharactercontroller_enableAutostep: (a: number, b: number, c: number, d: number) => void; readonly rawkinematiccharactercontroller_disableAutostep: (a: number) => void; readonly rawkinematiccharactercontroller_maxSlopeClimbAngle: (a: number) => number; readonly rawkinematiccharactercontroller_setMaxSlopeClimbAngle: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_minSlopeSlideAngle: (a: number) => number; readonly rawkinematiccharactercontroller_setMinSlopeSlideAngle: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_snapToGroundDistance: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_enableSnapToGround: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_disableSnapToGround: (a: number) => void; readonly rawkinematiccharactercontroller_snapToGroundEnabled: (a: number) => number; readonly rawkinematiccharactercontroller_computeColliderMovement: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => void; readonly rawkinematiccharactercontroller_computedMovement: (a: number) => number; readonly rawkinematiccharactercontroller_computedGrounded: (a: number) => number; readonly rawkinematiccharactercontroller_numComputedCollisions: (a: number) => number; readonly rawkinematiccharactercontroller_computedCollision: (a: number, b: number, c: number) => number; readonly __wbg_rawcharactercollision_free: (a: number) => void; readonly rawcharactercollision_new: () => number; readonly rawcharactercollision_handle: (a: number) => number; readonly rawcharactercollision_translationDeltaApplied: (a: number) => number; readonly rawcharactercollision_translationDeltaRemaining: (a: number) => number; readonly rawcharactercollision_toi: (a: number) => number; readonly rawcharactercollision_worldWitness1: (a: number) => number; readonly rawcharactercollision_worldWitness2: (a: number) => number; readonly rawcharactercollision_worldNormal1: (a: number) => number; readonly rawcharactercollision_worldNormal2: (a: number) => number; readonly __wbg_rawdynamicraycastvehiclecontroller_free: (a: number) => void; readonly rawdynamicraycastvehiclecontroller_new: (a: number) => number; readonly rawdynamicraycastvehiclecontroller_current_vehicle_speed: (a: number) => number; readonly rawdynamicraycastvehiclecontroller_chassis: (a: number) => number; readonly rawdynamicraycastvehiclecontroller_index_up_axis: (a: number) => number; readonly rawdynamicraycastvehiclecontroller_set_index_up_axis: (a: number, b: number) => void; readonly rawdynamicraycastvehiclecontroller_index_forward_axis: (a: number) => number; readonly rawdynamicraycastvehiclecontroller_set_index_forward_axis: (a: number, b: number) => void; readonly rawdynamicraycastvehiclecontroller_add_wheel: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawdynamicraycastvehiclecontroller_num_wheels: (a: number) => number; readonly rawdynamicraycastvehiclecontroller_update_vehicle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_chassis_connection_point_cs: (a: number, b: number) => number; readonly rawdynamicraycastvehiclecontroller_set_wheel_chassis_connection_point_cs: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_suspension_rest_length: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_suspension_rest_length: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_max_suspension_travel: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_max_suspension_travel: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_radius: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_radius: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_suspension_stiffness: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_suspension_stiffness: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_suspension_compression: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_suspension_compression: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_suspension_relaxation: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_suspension_relaxation: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_max_suspension_force: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_max_suspension_force: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_brake: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_brake: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_steering: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_steering: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_engine_force: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_engine_force: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_direction_cs: (a: number, b: number) => number; readonly rawdynamicraycastvehiclecontroller_set_wheel_direction_cs: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_axle_cs: (a: number, b: number) => number; readonly rawdynamicraycastvehiclecontroller_set_wheel_axle_cs: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_friction_slip: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_friction_slip: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_side_friction_stiffness: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_set_wheel_side_friction_stiffness: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_rotation: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_forward_impulse: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_side_impulse: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_suspension_force: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_contact_normal_ws: (a: number, b: number) => number; readonly rawdynamicraycastvehiclecontroller_wheel_contact_point_ws: (a: number, b: number) => number; readonly rawdynamicraycastvehiclecontroller_wheel_suspension_length: (a: number, b: number, c: number) => void; readonly rawdynamicraycastvehiclecontroller_wheel_hard_point_ws: (a: number, b: number) => number; readonly rawdynamicraycastvehiclecontroller_wheel_is_in_contact: (a: number, b: number) => number; readonly rawdynamicraycastvehiclecontroller_wheel_ground_object: (a: number, b: number, c: number) => void; readonly __wbg_rawccdsolver_free: (a: number) => void; readonly rawccdsolver_new: () => number; readonly rawimpulsejointset_jointType: (a: number, b: number) => number; readonly rawimpulsejointset_jointBodyHandle1: (a: number, b: number) => number; readonly rawimpulsejointset_jointBodyHandle2: (a: number, b: number) => number; readonly rawimpulsejointset_jointFrameX1: (a: number, b: number) => number; readonly rawimpulsejointset_jointFrameX2: (a: number, b: number) => number; readonly rawimpulsejointset_jointAnchor1: (a: number, b: number) => number; readonly rawimpulsejointset_jointAnchor2: (a: number, b: number) => number; readonly rawimpulsejointset_jointSetAnchor1: (a: number, b: number, c: number) => void; readonly rawimpulsejointset_jointSetAnchor2: (a: number, b: number, c: number) => void; readonly rawimpulsejointset_jointContactsEnabled: (a: number, b: number) => number; readonly rawimpulsejointset_jointSetContactsEnabled: (a: number, b: number, c: number) => void; readonly rawimpulsejointset_jointLimitsEnabled: (a: number, b: number, c: number) => number; readonly rawimpulsejointset_jointLimitsMin: (a: number, b: number, c: number) => number; readonly rawimpulsejointset_jointLimitsMax: (a: number, b: number, c: number) => number; readonly rawimpulsejointset_jointSetLimits: (a: number, b: number, c: number, d: number, e: number) => void; readonly rawimpulsejointset_jointConfigureMotorModel: (a: number, b: number, c: number, d: number) => void; readonly rawimpulsejointset_jointConfigureMotorVelocity: (a: number, b: number, c: number, d: number, e: number) => void; readonly rawimpulsejointset_jointConfigureMotorPosition: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawimpulsejointset_jointConfigureMotor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; readonly __wbg_rawimpulsejointset_free: (a: number) => void; readonly rawimpulsejointset_new: () => number; readonly rawimpulsejointset_createJoint: (a: number, b: number, c: number, d: number, e: number) => number; readonly rawimpulsejointset_remove: (a: number, b: number, c: number) => void; readonly rawimpulsejointset_len: (a: number) => number; readonly rawimpulsejointset_contains: (a: number, b: number) => number; readonly rawimpulsejointset_forEachJointHandle: (a: number, b: number) => void; readonly rawimpulsejointset_forEachJointAttachedToRigidBody: (a: number, b: number, c: number) => void; readonly __wbg_rawintegrationparameters_free: (a: number) => void; readonly rawintegrationparameters_new: () => number; readonly rawintegrationparameters_dt: (a: number) => number; readonly rawintegrationparameters_erp: (a: number) => number; readonly rawintegrationparameters_numSolverIterations: (a: number) => number; readonly rawintegrationparameters_numAdditionalFrictionIterations: (a: number) => number; readonly rawintegrationparameters_numInternalPgsIterations: (a: number) => number; readonly rawintegrationparameters_set_dt: (a: number, b: number) => void; readonly rawintegrationparameters_set_erp: (a: number, b: number) => void; readonly rawintegrationparameters_set_allowedLinearError: (a: number, b: number) => void; readonly rawintegrationparameters_set_predictionDistance: (a: number, b: number) => void; readonly rawintegrationparameters_set_numSolverIterations: (a: number, b: number) => void; readonly rawintegrationparameters_set_numAdditionalFrictionIterations: (a: number, b: number) => void; readonly rawintegrationparameters_set_numInternalPgsIterations: (a: number, b: number) => void; readonly rawintegrationparameters_switchToStandardPgsSolver: (a: number) => void; readonly rawintegrationparameters_switchToSmallStepsPgsSolver: (a: number) => void; readonly __wbg_rawislandmanager_free: (a: number) => void; readonly rawislandmanager_new: () => number; readonly rawislandmanager_forEachActiveRigidBodyHandle: (a: number, b: number) => void; readonly __wbg_rawgenericjoint_free: (a: number) => void; readonly rawgenericjoint_generic: (a: number, b: number, c: number, d: number) => number; readonly rawgenericjoint_spring: (a: number, b: number, c: number, d: number, e: number) => number; readonly rawgenericjoint_rope: (a: number, b: number, c: number) => number; readonly rawgenericjoint_spherical: (a: number, b: number) => number; readonly rawgenericjoint_prismatic: (a: number, b: number, c: number, d: number, e: number, f: number) => number; readonly rawgenericjoint_fixed: (a: number, b: number, c: number, d: number) => number; readonly rawgenericjoint_revolute: (a: number, b: number, c: number) => number; readonly rawmultibodyjointset_jointType: (a: number, b: number) => number; readonly rawmultibodyjointset_jointFrameX1: (a: number, b: number) => number; readonly rawmultibodyjointset_jointFrameX2: (a: number, b: number) => number; readonly rawmultibodyjointset_jointAnchor1: (a: number, b: number) => number; readonly rawmultibodyjointset_jointAnchor2: (a: number, b: number) => number; readonly rawmultibodyjointset_jointContactsEnabled: (a: number, b: number) => number; readonly rawmultibodyjointset_jointSetContactsEnabled: (a: number, b: number, c: number) => void; readonly rawmultibodyjointset_jointLimitsEnabled: (a: number, b: number, c: number) => number; readonly rawmultibodyjointset_jointLimitsMin: (a: number, b: number, c: number) => number; readonly rawmultibodyjointset_jointLimitsMax: (a: number, b: number, c: number) => number; readonly __wbg_rawmultibodyjointset_free: (a: number) => void; readonly rawmultibodyjointset_new: () => number; readonly rawmultibodyjointset_createJoint: (a: number, b: number, c: number, d: number, e: number) => number; readonly rawmultibodyjointset_remove: (a: number, b: number, c: number) => void; readonly rawmultibodyjointset_contains: (a: number, b: number) => number; readonly rawmultibodyjointset_forEachJointHandle: (a: number, b: number) => void; readonly rawmultibodyjointset_forEachJointAttachedToRigidBody: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbTranslation: (a: number, b: number) => number; readonly rawrigidbodyset_rbRotation: (a: number, b: number) => number; readonly rawrigidbodyset_rbSleep: (a: number, b: number) => void; readonly rawrigidbodyset_rbIsSleeping: (a: number, b: number) => number; readonly rawrigidbodyset_rbIsMoving: (a: number, b: number) => number; readonly rawrigidbodyset_rbNextTranslation: (a: number, b: number) => number; readonly rawrigidbodyset_rbNextRotation: (a: number, b: number) => number; readonly rawrigidbodyset_rbSetTranslation: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawrigidbodyset_rbSetRotation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; readonly rawrigidbodyset_rbSetLinvel: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbSetAngvel: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbSetNextKinematicTranslation: (a: number, b: number, c: number, d: number, e: number) => void; readonly rawrigidbodyset_rbSetNextKinematicRotation: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawrigidbodyset_rbRecomputeMassPropertiesFromColliders: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbSetAdditionalMass: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbSetAdditionalMassProperties: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void; readonly rawrigidbodyset_rbLinvel: (a: number, b: number) => number; readonly rawrigidbodyset_rbAngvel: (a: number, b: number) => number; readonly rawrigidbodyset_rbLockTranslations: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbSetEnabledTranslations: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawrigidbodyset_rbLockRotations: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbSetEnabledRotations: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawrigidbodyset_rbDominanceGroup: (a: number, b: number) => number; readonly rawrigidbodyset_rbSetDominanceGroup: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbEnableCcd: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbMass: (a: number, b: number) => number; readonly rawrigidbodyset_rbInvMass: (a: number, b: number) => number; readonly rawrigidbodyset_rbEffectiveInvMass: (a: number, b: number) => number; readonly rawrigidbodyset_rbLocalCom: (a: number, b: number) => number; readonly rawrigidbodyset_rbWorldCom: (a: number, b: number) => number; readonly rawrigidbodyset_rbInvPrincipalInertiaSqrt: (a: number, b: number) => number; readonly rawrigidbodyset_rbPrincipalInertiaLocalFrame: (a: number, b: number) => number; readonly rawrigidbodyset_rbPrincipalInertia: (a: number, b: number) => number; readonly rawrigidbodyset_rbEffectiveWorldInvInertiaSqrt: (a: number, b: number) => number; readonly rawrigidbodyset_rbEffectiveAngularInertia: (a: number, b: number) => number; readonly rawrigidbodyset_rbWakeUp: (a: number, b: number) => void; readonly rawrigidbodyset_rbIsCcdEnabled: (a: number, b: number) => number; readonly rawrigidbodyset_rbNumColliders: (a: number, b: number) => number; readonly rawrigidbodyset_rbCollider: (a: number, b: number, c: number) => number; readonly rawrigidbodyset_rbBodyType: (a: number, b: number) => number; readonly rawrigidbodyset_rbSetBodyType: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbIsFixed: (a: number, b: number) => number; readonly rawrigidbodyset_rbIsKinematic: (a: number, b: number) => number; readonly rawrigidbodyset_rbIsDynamic: (a: number, b: number) => number; readonly rawrigidbodyset_rbLinearDamping: (a: number, b: number) => number; readonly rawrigidbodyset_rbAngularDamping: (a: number, b: number) => number; readonly rawrigidbodyset_rbSetLinearDamping: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbSetAngularDamping: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbSetEnabled: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbIsEnabled: (a: number, b: number) => number; readonly rawrigidbodyset_rbGravityScale: (a: number, b: number) => number; readonly rawrigidbodyset_rbSetGravityScale: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbResetForces: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbResetTorques: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbAddForce: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbApplyImpulse: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbAddTorque: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbApplyTorqueImpulse: (a: number, b: number, c: number, d: number) => void; readonly rawrigidbodyset_rbAddForceAtPoint: (a: number, b: number, c: number, d: number, e: number) => void; readonly rawrigidbodyset_rbApplyImpulseAtPoint: (a: number, b: number, c: number, d: number, e: number) => void; readonly rawrigidbodyset_rbAdditionalSolverIterations: (a: number, b: number) => number; readonly rawrigidbodyset_rbSetAdditionalSolverIterations: (a: number, b: number, c: number) => void; readonly rawrigidbodyset_rbUserData: (a: number, b: number) => number; readonly rawrigidbodyset_rbSetUserData: (a: number, b: number, c: number) => void; readonly __wbg_rawrigidbodyset_free: (a: number) => void; readonly rawrigidbodyset_new: () => number; readonly rawrigidbodyset_createRigidBody: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number) => number; readonly rawrigidbodyset_remove: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawrigidbodyset_contains: (a: number, b: number) => number; readonly rawrigidbodyset_forEachRigidBodyHandle: (a: number, b: number) => void; readonly rawrigidbodyset_propagateModifiedBodyPositionsToColliders: (a: number, b: number) => void; readonly __wbg_rawbroadphase_free: (a: number) => void; readonly rawbroadphase_new: () => number; readonly rawcolliderset_coTranslation: (a: number, b: number) => number; readonly rawcolliderset_coRotation: (a: number, b: number) => number; readonly rawcolliderset_coSetTranslation: (a: number, b: number, c: number, d: number, e: number) => void; readonly rawcolliderset_coSetTranslationWrtParent: (a: number, b: number, c: number, d: number, e: number) => void; readonly rawcolliderset_coSetRotation: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawcolliderset_coSetRotationWrtParent: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly rawcolliderset_coIsSensor: (a: number, b: number) => number; readonly rawcolliderset_coShapeType: (a: number, b: number) => number; readonly rawcolliderset_coHalfspaceNormal: (a: number, b: number) => number; readonly rawcolliderset_coHalfExtents: (a: number, b: number) => number; readonly rawcolliderset_coSetHalfExtents: (a: number, b: number, c: number) => void; readonly rawcolliderset_coRadius: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetRadius: (a: number, b: number, c: number) => void; readonly rawcolliderset_coHalfHeight: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetHalfHeight: (a: number, b: number, c: number) => void; readonly rawcolliderset_coRoundRadius: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetRoundRadius: (a: number, b: number, c: number) => void; readonly rawcolliderset_coVertices: (a: number, b: number, c: number) => void; readonly rawcolliderset_coIndices: (a: number, b: number, c: number) => void; readonly rawcolliderset_coHeightfieldHeights: (a: number, b: number, c: number) => void; readonly rawcolliderset_coHeightfieldScale: (a: number, b: number) => number; readonly rawcolliderset_coHeightfieldNRows: (a: number, b: number, c: number) => void; readonly rawcolliderset_coHeightfieldNCols: (a: number, b: number, c: number) => void; readonly rawcolliderset_coParent: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetEnabled: (a: number, b: number, c: number) => void; readonly rawcolliderset_coIsEnabled: (a: number, b: number) => number; readonly rawcolliderset_coFriction: (a: number, b: number) => number; readonly rawcolliderset_coRestitution: (a: number, b: number) => number; readonly rawcolliderset_coDensity: (a: number, b: number) => number; readonly rawcolliderset_coMass: (a: number, b: number) => number; readonly rawcolliderset_coVolume: (a: number, b: number) => number; readonly rawcolliderset_coCollisionGroups: (a: number, b: number) => number; readonly rawcolliderset_coSolverGroups: (a: number, b: number) => number; readonly rawcolliderset_coActiveHooks: (a: number, b: number) => number; readonly rawcolliderset_coActiveCollisionTypes: (a: number, b: number) => number; readonly rawcolliderset_coActiveEvents: (a: number, b: number) => number; readonly rawcolliderset_coContactForceEventThreshold: (a: number, b: number) => number; readonly rawcolliderset_coContainsPoint: (a: number, b: number, c: number) => number; readonly rawcolliderset_coCastShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number; readonly rawcolliderset_coCastCollider: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; readonly rawcolliderset_coIntersectsShape: (a: number, b: number, c: number, d: number, e: number) => number; readonly rawcolliderset_coContactShape: (a: number, b: number, c: number, d: number, e: number, f: number) => number; readonly rawcolliderset_coContactCollider: (a: number, b: number, c: number, d: number) => number; readonly rawcolliderset_coProjectPoint: (a: number, b: number, c: number, d: number) => number; readonly rawcolliderset_coIntersectsRay: (a: number, b: number, c: number, d: number, e: number) => number; readonly rawcolliderset_coCastRay: (a: number, b: number, c: number, d: number, e: number, f: number) => number; readonly rawcolliderset_coCastRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number) => number; readonly rawcolliderset_coSetSensor: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetRestitution: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetFriction: (a: number, b: number, c: number) => void; readonly rawcolliderset_coFrictionCombineRule: (a: number, b: number) => number; readonly rawcolliderset_coSetFrictionCombineRule: (a: number, b: number, c: number) => void; readonly rawcolliderset_coRestitutionCombineRule: (a: number, b: number) => number; readonly rawcolliderset_coSetRestitutionCombineRule: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetCollisionGroups: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetSolverGroups: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetActiveHooks: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetActiveEvents: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetActiveCollisionTypes: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetShape: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetContactForceEventThreshold: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetDensity: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetMass: (a: number, b: number, c: number) => void; readonly rawcolliderset_coSetMassProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly __wbg_rawcolliderset_free: (a: number) => void; readonly rawcolliderset_new: () => number; readonly rawcolliderset_len: (a: number) => number; readonly rawcolliderset_contains: (a: number, b: number) => number; readonly rawcolliderset_createCollider: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number) => void; readonly rawcolliderset_remove: (a: number, b: number, c: number, d: number, e: number) => void; readonly rawcolliderset_forEachColliderHandle: (a: number, b: number) => void; readonly __wbg_rawshapecontact_free: (a: number) => void; readonly __wbg_rawnarrowphase_free: (a: number) => void; readonly rawnarrowphase_new: () => number; readonly rawnarrowphase_contact_pairs_with: (a: number, b: number, c: number) => void; readonly rawnarrowphase_contact_pair: (a: number, b: number, c: number) => number; readonly rawnarrowphase_intersection_pairs_with: (a: number, b: number, c: number) => void; readonly rawnarrowphase_intersection_pair: (a: number, b: number, c: number) => number; readonly __wbg_rawcontactmanifold_free: (a: number) => void; readonly rawcontactpair_collider1: (a: number) => number; readonly rawcontactpair_collider2: (a: number) => number; readonly rawcontactpair_numContactManifolds: (a: number) => number; readonly rawcontactpair_contactManifold: (a: number, b: number) => number; readonly rawcontactmanifold_normal: (a: number) => number; readonly rawcontactmanifold_local_n1: (a: number) => number; readonly rawcontactmanifold_local_n2: (a: number) => number; readonly rawcontactmanifold_subshape1: (a: number) => number; readonly rawcontactmanifold_subshape2: (a: number) => number; readonly rawcontactmanifold_num_contacts: (a: number) => number; readonly rawcontactmanifold_contact_local_p1: (a: number, b: number) => number; readonly rawcontactmanifold_contact_local_p2: (a: number, b: number) => number; readonly rawcontactmanifold_contact_dist: (a: number, b: number) => number; readonly rawcontactmanifold_contact_fid1: (a: number, b: number) => number; readonly rawcontactmanifold_contact_fid2: (a: number, b: number) => number; readonly rawcontactmanifold_contact_impulse: (a: number, b: number) => number; readonly rawcontactmanifold_contact_tangent_impulse_x: (a: number, b: number) => number; readonly rawcontactmanifold_contact_tangent_impulse_y: (a: number, b: number) => number; readonly rawcontactmanifold_num_solver_contacts: (a: number) => number; readonly rawcontactmanifold_solver_contact_point: (a: number, b: number) => number; readonly rawcontactmanifold_solver_contact_dist: (a: number, b: number) => number; readonly rawcontactmanifold_solver_contact_friction: (a: number, b: number) => number; readonly rawcontactmanifold_solver_contact_restitution: (a: number, b: number) => number; readonly rawcontactmanifold_solver_contact_tangent_velocity: (a: number, b: number) => number; readonly __wbg_rawpointprojection_free: (a: number) => void; readonly rawpointprojection_point: (a: number) => number; readonly rawpointprojection_isInside: (a: number) => number; readonly __wbg_rawpointcolliderprojection_free: (a: number) => void; readonly rawpointcolliderprojection_colliderHandle: (a: number) => number; readonly rawpointcolliderprojection_point: (a: number) => number; readonly rawpointcolliderprojection_isInside: (a: number) => number; readonly rawpointcolliderprojection_featureType: (a: number) => number; readonly rawpointcolliderprojection_featureId: (a: number, b: number) => void; readonly __wbg_rawrayintersection_free: (a: number) => void; readonly rawraycolliderintersection_normal: (a: number) => number; readonly rawraycolliderintersection_toi: (a: number) => number; readonly __wbg_rawraycollidertoi_free: (a: number) => void; readonly __wbg_rawshape_free: (a: number) => void; readonly rawshape_cuboid: (a: number, b: number, c: number) => number; readonly rawshape_roundCuboid: (a: number, b: number, c: number, d: number) => number; readonly rawshape_ball: (a: number) => number; readonly rawshape_halfspace: (a: number) => number; readonly rawshape_capsule: (a: number, b: number) => number; readonly rawshape_cylinder: (a: number, b: number) => number; readonly rawshape_roundCylinder: (a: number, b: number, c: number) => number; readonly rawshape_cone: (a: number, b: number) => number; readonly rawshape_roundCone: (a: number, b: number, c: number) => number; readonly rawshape_polyline: (a: number, b: number, c: number, d: number) => number; readonly rawshape_trimesh: (a: number, b: number, c: number, d: number) => number; readonly rawshape_heightfield: (a: number, b: number, c: number, d: number, e: number) => number; readonly rawshape_segment: (a: number, b: number) => number; readonly rawshape_triangle: (a: number, b: number, c: number) => number; readonly rawshape_roundTriangle: (a: number, b: number, c: number, d: number) => number; readonly rawshape_convexHull: (a: number, b: number) => number; readonly rawshape_roundConvexHull: (a: number, b: number, c: number) => number; readonly rawshape_convexMesh: (a: number, b: number, c: number, d: number) => number; readonly rawshape_roundConvexMesh: (a: number, b: number, c: number, d: number, e: number) => number; readonly rawshape_castShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number; readonly rawshape_intersectsShape: (a: number, b: number, c: number, d: number, e: number, f: number) => number; readonly rawshape_contactShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; readonly rawshape_containsPoint: (a: number, b: number, c: number, d: number) => number; readonly rawshape_projectPoint: (a: number, b: number, c: number, d: number, e: number) => number; readonly rawshape_intersectsRay: (a: number, b: number, c: number, d: number, e: number, f: number) => number; readonly rawshape_castRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; readonly rawshape_castRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; readonly rawshapetoi_witness1: (a: number) => number; readonly rawshapetoi_normal1: (a: number) => number; readonly rawshapetoi_normal2: (a: number) => number; readonly __wbg_rawshapecollidertoi_free: (a: number) => void; readonly rawshapecollidertoi_witness2: (a: number) => number; readonly rawrotation_new: (a: number, b: number, c: number, d: number) => number; readonly rawrotation_identity: () => number; readonly rawrotation_x: (a: number) => number; readonly rawvector_zero: () => number; readonly rawvector_new: (a: number, b: number, c: number) => number; readonly rawvector_set_x: (a: number, b: number) => void; readonly rawvector_set_z: (a: number, b: number) => void; readonly rawvector_xyz: (a: number) => number; readonly rawvector_yxz: (a: number) => number; readonly rawvector_zxy: (a: number) => number; readonly rawvector_xzy: (a: number) => number; readonly rawvector_yzx: (a: number) => number; readonly rawvector_zyx: (a: number) => number; readonly rawsdpmatrix3_elements: (a: number) => number; readonly __wbg_rawdebugrenderpipeline_free: (a: number) => void; readonly rawdebugrenderpipeline_new: () => number; readonly rawdebugrenderpipeline_vertices: (a: number) => number; readonly rawdebugrenderpipeline_colors: (a: number) => number; readonly rawdebugrenderpipeline_render: (a: number, b: number, c: number, d: number, e: number, f: number) => void; readonly __wbg_raweventqueue_free: (a: number) => void; readonly __wbg_rawcontactforceevent_free: (a: number) => void; readonly rawcontactforceevent_collider2: (a: number) => number; readonly rawcontactforceevent_total_force: (a: number) => number; readonly rawcontactforceevent_total_force_magnitude: (a: number) => number; readonly rawcontactforceevent_max_force_direction: (a: number) => number; readonly rawcontactforceevent_max_force_magnitude: (a: number) => number; readonly raweventqueue_new: (a: number) => number; readonly raweventqueue_drainCollisionEvents: (a: number, b: number) => void; readonly raweventqueue_drainContactForceEvents: (a: number, b: number) => void; readonly raweventqueue_clear: (a: number) => void; readonly __wbg_rawphysicspipeline_free: (a: number) => void; readonly rawphysicspipeline_new: () => number; readonly rawphysicspipeline_step: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void; readonly rawphysicspipeline_stepWithEvents: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; readonly __wbg_rawquerypipeline_free: (a: number) => void; readonly rawquerypipeline_new: () => number; readonly rawquerypipeline_update: (a: number, b: number, c: number) => void; readonly rawquerypipeline_castRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => number; readonly rawquerypipeline_castRayAndGetNormal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => number; readonly rawquerypipeline_intersectionsWithRay: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void; readonly rawquerypipeline_intersectionWithShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; readonly rawquerypipeline_projectPoint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => number; readonly rawquerypipeline_projectPointAndGetFeature: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => number; readonly rawquerypipeline_intersectionsWithPoint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void; readonly rawquerypipeline_castShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => number; readonly rawquerypipeline_intersectionsWithShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => void; readonly rawquerypipeline_collidersWithAabbIntersectingAabb: (a: number, b: number, c: number, d: number) => void; readonly __wbg_rawdeserializedworld_free: (a: number) => void; readonly rawdeserializedworld_takeGravity: (a: number) => number; readonly rawdeserializedworld_takeIntegrationParameters: (a: number) => number; readonly rawdeserializedworld_takeIslandManager: (a: number) => number; readonly rawdeserializedworld_takeBroadPhase: (a: number) => number; readonly rawdeserializedworld_takeNarrowPhase: (a: number) => number; readonly rawdeserializedworld_takeBodies: (a: number) => number; readonly rawdeserializedworld_takeColliders: (a: number) => number; readonly rawdeserializedworld_takeImpulseJoints: (a: number) => number; readonly rawdeserializedworld_takeMultibodyJoints: (a: number) => number; readonly rawserializationpipeline_new: () => number; readonly rawserializationpipeline_serializeAll: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number; readonly rawserializationpipeline_deserializeAll: (a: number, b: number) => number; readonly rawintegrationparameters_set_minIslandSize: (a: number, b: number) => void; readonly rawintegrationparameters_set_maxCcdSubsteps: (a: number, b: number) => void; readonly rawvector_set_y: (a: number, b: number) => void; readonly rawkinematiccharactercontroller_up: (a: number) => number; readonly rawshapecontact_normal2: (a: number) => number; readonly rawshapecontact_point1: (a: number) => number; readonly rawshapecontact_point2: (a: number) => number; readonly rawrayintersection_normal: (a: number) => number; readonly rawshapecollidertoi_witness1: (a: number) => number; readonly rawshapecontact_normal1: (a: number) => number; readonly rawshapecollidertoi_normal1: (a: number) => number; readonly rawshapecollidertoi_normal2: (a: number) => number; readonly rawshapetoi_witness2: (a: number) => number; readonly rawkinematiccharactercontroller_offset: (a: number) => number; readonly rawintegrationparameters_predictionDistance: (a: number) => number; readonly rawintegrationparameters_minIslandSize: (a: number) => number; readonly rawintegrationparameters_maxCcdSubsteps: (a: number) => number; readonly rawrigidbodyset_len: (a: number) => number; readonly rawshapecontact_distance: (a: number) => number; readonly rawrayintersection_featureType: (a: number) => number; readonly rawraycolliderintersection_colliderHandle: (a: number) => number; readonly rawrayintersection_toi: (a: number) => number; readonly rawraycolliderintersection_featureType: (a: number) => number; readonly rawraycollidertoi_colliderHandle: (a: number) => number; readonly rawraycollidertoi_toi: (a: number) => number; readonly rawshapecollidertoi_colliderHandle: (a: number) => number; readonly rawshapecollidertoi_toi: (a: number) => number; readonly rawshapetoi_toi: (a: number) => number; readonly rawrotation_y: (a: number) => number; readonly rawrotation_z: (a: number) => number; readonly rawrotation_w: (a: number) => number; readonly rawvector_x: (a: number) => number; readonly rawvector_y: (a: number) => number; readonly rawvector_z: (a: number) => number; readonly rawcontactforceevent_collider1: (a: number) => number; readonly rawintegrationparameters_allowedLinearError: (a: number) => number; readonly rawcolliderset_isHandleValid: (a: number, b: number) => number; readonly __wbg_rawserializationpipeline_free: (a: number) => void; readonly rawrayintersection_featureId: (a: number, b: number) => void; readonly rawraycolliderintersection_featureId: (a: number, b: number) => void; readonly __wbg_rawcontactpair_free: (a: number) => void; readonly __wbg_rawraycolliderintersection_free: (a: number) => void; readonly __wbg_rawshapetoi_free: (a: number) => void; readonly __wbg_rawrotation_free: (a: number) => void; readonly __wbg_rawvector_free: (a: number) => void; readonly __wbg_rawsdpmatrix3_free: (a: number) => void; readonly __wbindgen_add_to_stack_pointer: (a: number) => number; readonly __wbindgen_free: (a: number, b: number, c: number) => void; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_exn_store: (a: number) => void; } export type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {SyncInitInput} module * * @returns {InitOutput} */ export function initSync(module: SyncInitInput): InitOutput; /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. * * @param {InitInput | Promise} module_or_path * * @returns {Promise} */ export default function __wbg_init (module_or_path?: InitInput | Promise): Promise;