Buckets:
ktongue/docker_container / simsite /frontend /node_modules /@dimforge /rapier3d-compat /geometry /collider.d.ts
| import { Rotation, Vector } from "../math"; | |
| import { CoefficientCombineRule, RigidBody, RigidBodySet } from "../dynamics"; | |
| import { ActiveHooks, ActiveEvents } from "../pipeline"; | |
| import { InteractionGroups } from "./interaction_groups"; | |
| import { Shape, ShapeType } from "./shape"; | |
| import { Ray, RayIntersection } from "./ray"; | |
| import { PointProjection } from "./point"; | |
| import { ShapeColliderTOI, ShapeTOI } from "./toi"; | |
| import { ShapeContact } from "./contact"; | |
| import { ColliderSet } from "./collider_set"; | |
| /** | |
| * Flags affecting whether collision-detection happens between two colliders | |
| * depending on the type of rigid-bodies they are attached to. | |
| */ | |
| export declare enum ActiveCollisionTypes { | |
| /** | |
| * Enable collision-detection between a collider attached to a dynamic body | |
| * and another collider attached to a dynamic body. | |
| */ | |
| DYNAMIC_DYNAMIC = 1, | |
| /** | |
| * Enable collision-detection between a collider attached to a dynamic body | |
| * and another collider attached to a kinematic body. | |
| */ | |
| DYNAMIC_KINEMATIC = 12, | |
| /** | |
| * Enable collision-detection between a collider attached to a dynamic body | |
| * and another collider attached to a fixed body (or not attached to any body). | |
| */ | |
| DYNAMIC_FIXED = 2, | |
| /** | |
| * Enable collision-detection between a collider attached to a kinematic body | |
| * and another collider attached to a kinematic body. | |
| */ | |
| KINEMATIC_KINEMATIC = 52224, | |
| /** | |
| * Enable collision-detection between a collider attached to a kinematic body | |
| * and another collider attached to a fixed body (or not attached to any body). | |
| */ | |
| KINEMATIC_FIXED = 8704, | |
| /** | |
| * Enable collision-detection between a collider attached to a fixed body (or | |
| * not attached to any body) and another collider attached to a fixed body (or | |
| * not attached to any body). | |
| */ | |
| FIXED_FIXED = 32, | |
| /** | |
| * The default active collision types, enabling collisions between a dynamic body | |
| * and another body of any type, but not enabling collisions between two non-dynamic bodies. | |
| */ | |
| DEFAULT = 15, | |
| /** | |
| * Enable collisions between any kind of rigid-bodies (including between two non-dynamic bodies). | |
| */ | |
| ALL = 60943 | |
| } | |
| /** | |
| * The integer identifier of a collider added to a `ColliderSet`. | |
| */ | |
| export declare type ColliderHandle = number; | |
| /** | |
| * A geometric entity that can be attached to a body so it can be affected | |
| * by contacts and proximity queries. | |
| */ | |
| export declare class Collider { | |
| private colliderSet; | |
| readonly handle: ColliderHandle; | |
| private _shape; | |
| private _parent; | |
| constructor(colliderSet: ColliderSet, handle: ColliderHandle, parent: RigidBody | null, shape?: Shape); | |
| /** @internal */ | |
| finalizeDeserialization(bodies: RigidBodySet): void; | |
| private ensureShapeIsCached; | |
| /** | |
| * The shape of this collider. | |
| */ | |
| get shape(): Shape; | |
| /** | |
| * Checks if this collider is still valid (i.e. that it has | |
| * not been deleted from the collider set yet). | |
| */ | |
| isValid(): boolean; | |
| /** | |
| * The world-space translation of this rigid-body. | |
| */ | |
| translation(): Vector; | |
| /** | |
| * The world-space orientation of this rigid-body. | |
| */ | |
| rotation(): Rotation; | |
| /** | |
| * Is this collider a sensor? | |
| */ | |
| isSensor(): boolean; | |
| /** | |
| * Sets whether or not this collider is a sensor. | |
| * @param isSensor - If `true`, the collider will be a sensor. | |
| */ | |
| setSensor(isSensor: boolean): void; | |
| /** | |
| * Sets the new shape of the collider. | |
| * @param shape - The collider’s new shape. | |
| */ | |
| setShape(shape: Shape): void; | |
| /** | |
| * Sets whether this collider is enabled or not. | |
| * | |
| * @param enabled - Set to `false` to disable this collider (its parent rigid-body won’t be disabled automatically by this). | |
| */ | |
| setEnabled(enabled: boolean): void; | |
| /** | |
| * Is this collider enabled? | |
| */ | |
| isEnabled(): boolean; | |
| /** | |
| * Sets the restitution coefficient of the collider to be created. | |
| * | |
| * @param restitution - The restitution coefficient in `[0, 1]`. A value of 0 (the default) means no bouncing behavior | |
| * while 1 means perfect bouncing (though energy may still be lost due to numerical errors of the | |
| * constraints solver). | |
| */ | |
| setRestitution(restitution: number): void; | |
| /** | |
| * Sets the friction coefficient of the collider to be created. | |
| * | |
| * @param friction - The friction coefficient. Must be greater or equal to 0. This is generally smaller than 1. The | |
| * higher the coefficient, the stronger friction forces will be for contacts with the collider | |
| * being built. | |
| */ | |
| setFriction(friction: number): void; | |
| /** | |
| * Gets the rule used to combine the friction coefficients of two colliders | |
| * colliders involved in a contact. | |
| */ | |
| frictionCombineRule(): CoefficientCombineRule; | |
| /** | |
| * Sets the rule used to combine the friction coefficients of two colliders | |
| * colliders involved in a contact. | |
| * | |
| * @param rule − The combine rule to apply. | |
| */ | |
| setFrictionCombineRule(rule: CoefficientCombineRule): void; | |
| /** | |
| * Gets the rule used to combine the restitution coefficients of two colliders | |
| * colliders involved in a contact. | |
| */ | |
| restitutionCombineRule(): CoefficientCombineRule; | |
| /** | |
| * Sets the rule used to combine the restitution coefficients of two colliders | |
| * colliders involved in a contact. | |
| * | |
| * @param rule − The combine rule to apply. | |
| */ | |
| setRestitutionCombineRule(rule: CoefficientCombineRule): void; | |
| /** | |
| * Sets the collision groups used by this collider. | |
| * | |
| * Two colliders will interact iff. their collision groups are compatible. | |
| * See the documentation of `InteractionGroups` for details on teh used bit pattern. | |
| * | |
| * @param groups - The collision groups used for the collider being built. | |
| */ | |
| setCollisionGroups(groups: InteractionGroups): void; | |
| /** | |
| * Sets the solver groups used by this collider. | |
| * | |
| * Forces between two colliders in contact will be computed iff their solver | |
| * groups are compatible. | |
| * See the documentation of `InteractionGroups` for details on the used bit pattern. | |
| * | |
| * @param groups - The solver groups used for the collider being built. | |
| */ | |
| setSolverGroups(groups: InteractionGroups): void; | |
| /** | |
| * Get the physics hooks active for this collider. | |
| */ | |
| activeHooks(): number; | |
| /** | |
| * Set the physics hooks active for this collider. | |
| * | |
| * Use this to enable custom filtering rules for contact/intersecstion pairs involving this collider. | |
| * | |
| * @param activeHooks - The hooks active for contact/intersection pairs involving this collider. | |
| */ | |
| setActiveHooks(activeHooks: ActiveHooks): void; | |
| /** | |
| * The events active for this collider. | |
| */ | |
| activeEvents(): ActiveEvents; | |
| /** | |
| * Set the events active for this collider. | |
| * | |
| * Use this to enable contact and/or intersection event reporting for this collider. | |
| * | |
| * @param activeEvents - The events active for contact/intersection pairs involving this collider. | |
| */ | |
| setActiveEvents(activeEvents: ActiveEvents): void; | |
| /** | |
| * Gets the collision types active for this collider. | |
| */ | |
| activeCollisionTypes(): ActiveCollisionTypes; | |
| /** | |
| * Sets the total force magnitude beyond which a contact force event can be emitted. | |
| * | |
| * @param threshold - The new force threshold. | |
| */ | |
| setContactForceEventThreshold(threshold: number): void; | |
| /** | |
| * The total force magnitude beyond which a contact force event can be emitted. | |
| */ | |
| contactForceEventThreshold(): number; | |
| /** | |
| * Set the collision types active for this collider. | |
| * | |
| * @param activeCollisionTypes - The hooks active for contact/intersection pairs involving this collider. | |
| */ | |
| setActiveCollisionTypes(activeCollisionTypes: ActiveCollisionTypes): void; | |
| /** | |
| * Sets the uniform density of this collider. | |
| * | |
| * This will override any previous mass-properties set by `this.setDensity`, | |
| * `this.setMass`, `this.setMassProperties`, `ColliderDesc.density`, | |
| * `ColliderDesc.mass`, or `ColliderDesc.massProperties` for this collider. | |
| * | |
| * The mass and angular inertia of this collider will be computed automatically based on its | |
| * shape. | |
| */ | |
| setDensity(density: number): void; | |
| /** | |
| * Sets the mass of this collider. | |
| * | |
| * This will override any previous mass-properties set by `this.setDensity`, | |
| * `this.setMass`, `this.setMassProperties`, `ColliderDesc.density`, | |
| * `ColliderDesc.mass`, or `ColliderDesc.massProperties` for this collider. | |
| * | |
| * The angular inertia of this collider will be computed automatically based on its shape | |
| * and this mass value. | |
| */ | |
| setMass(mass: number): void; | |
| /** | |
| * Sets the mass of this collider. | |
| * | |
| * This will override any previous mass-properties set by `this.setDensity`, | |
| * `this.setMass`, `this.setMassProperties`, `ColliderDesc.density`, | |
| * `ColliderDesc.mass`, or `ColliderDesc.massProperties` for this collider. | |
| */ | |
| setMassProperties(mass: number, centerOfMass: Vector, principalAngularInertia: Vector, angularInertiaLocalFrame: Rotation): void; | |
| /** | |
| * Sets the translation of this collider. | |
| * | |
| * @param tra - The world-space position of the collider. | |
| */ | |
| setTranslation(tra: Vector): void; | |
| /** | |
| * Sets the translation of this collider relative to its parent rigid-body. | |
| * | |
| * Does nothing if this collider isn't attached to a rigid-body. | |
| * | |
| * @param tra - The new translation of the collider relative to its parent. | |
| */ | |
| setTranslationWrtParent(tra: Vector): void; | |
| /** | |
| * Sets the rotation quaternion of this collider. | |
| * | |
| * This does nothing if a zero quaternion is provided. | |
| * | |
| * @param rotation - The rotation to set. | |
| */ | |
| setRotation(rot: Rotation): void; | |
| /** | |
| * Sets the rotation quaternion of this collider relative to its parent rigid-body. | |
| * | |
| * This does nothing if a zero quaternion is provided or if this collider isn't | |
| * attached to a rigid-body. | |
| * | |
| * @param rotation - The rotation to set. | |
| */ | |
| setRotationWrtParent(rot: Rotation): void; | |
| /** | |
| * The type of the shape of this collider. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| shapeType(): ShapeType; | |
| /** | |
| * The half-extents of this collider if it is a cuboid shape. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| halfExtents(): Vector; | |
| /** | |
| * Sets the half-extents of this collider if it is a cuboid shape. | |
| * | |
| * @param newHalfExtents - desired half extents. | |
| */ | |
| setHalfExtents(newHalfExtents: Vector): void; | |
| /** | |
| * The radius of this collider if it is a ball, cylinder, capsule, or cone shape. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| radius(): number; | |
| /** | |
| * Sets the radius of this collider if it is a ball, cylinder, capsule, or cone shape. | |
| * | |
| * @param newRadius - desired radius. | |
| */ | |
| setRadius(newRadius: number): void; | |
| /** | |
| * The radius of the round edges of this collider if it is a round cylinder. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| roundRadius(): number; | |
| /** | |
| * Sets the radius of the round edges of this collider if it has round edges. | |
| * | |
| * @param newBorderRadius - desired round edge radius. | |
| */ | |
| setRoundRadius(newBorderRadius: number): void; | |
| /** | |
| * The half height of this collider if it is a cylinder, capsule, or cone shape. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| halfHeight(): number; | |
| /** | |
| * Sets the half height of this collider if it is a cylinder, capsule, or cone shape. | |
| * | |
| * @param newHalfheight - desired half height. | |
| */ | |
| setHalfHeight(newHalfheight: number): void; | |
| /** | |
| * If this collider has a triangle mesh, polyline, convex polygon, or convex polyhedron shape, | |
| * this returns the vertex buffer of said shape. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| vertices(): Float32Array; | |
| /** | |
| * If this collider has a triangle mesh, polyline, or convex polyhedron shape, | |
| * this returns the index buffer of said shape. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| indices(): Uint32Array | undefined; | |
| /** | |
| * If this collider has a heightfield shape, this returns the heights buffer of | |
| * the heightfield. | |
| * In 3D, the returned height matrix is provided in column-major order. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| heightfieldHeights(): Float32Array; | |
| /** | |
| * If this collider has a heightfield shape, this returns the scale | |
| * applied to it. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| heightfieldScale(): Vector; | |
| /** | |
| * If this collider has a heightfield shape, this returns the number of | |
| * rows of its height matrix. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| heightfieldNRows(): number; | |
| /** | |
| * If this collider has a heightfield shape, this returns the number of | |
| * columns of its height matrix. | |
| * @deprecated this field will be removed in the future, please access this field on `shape` member instead. | |
| */ | |
| heightfieldNCols(): number; | |
| /** | |
| * The rigid-body this collider is attached to. | |
| */ | |
| parent(): RigidBody | null; | |
| /** | |
| * The friction coefficient of this collider. | |
| */ | |
| friction(): number; | |
| /** | |
| * The restitution coefficient of this collider. | |
| */ | |
| restitution(): number; | |
| /** | |
| * The density of this collider. | |
| */ | |
| density(): number; | |
| /** | |
| * The mass of this collider. | |
| */ | |
| mass(): number; | |
| /** | |
| * The volume of this collider. | |
| */ | |
| volume(): number; | |
| /** | |
| * The collision groups of this collider. | |
| */ | |
| collisionGroups(): InteractionGroups; | |
| /** | |
| * The solver groups of this collider. | |
| */ | |
| solverGroups(): InteractionGroups; | |
| /** | |
| * Tests if this collider contains a point. | |
| * | |
| * @param point - The point to test. | |
| */ | |
| containsPoint(point: Vector): boolean; | |
| /** | |
| * Find the projection of a point on this collider. | |
| * | |
| * @param point - The point to project. | |
| * @param solid - If this is set to `true` then the collider shapes are considered to | |
| * be plain (if the point is located inside of a plain shape, its projection is the point | |
| * itself). If it is set to `false` the collider shapes are considered to be hollow | |
| * (if the point is located inside of an hollow shape, it is projected on the shape's | |
| * boundary). | |
| */ | |
| projectPoint(point: Vector, solid: boolean): PointProjection | null; | |
| /** | |
| * Tests if this collider intersects the given ray. | |
| * | |
| * @param ray - The ray to cast. | |
| * @param maxToi - The maximum time-of-impact that can be reported by this cast. This effectively | |
| * limits the length of the ray to `ray.dir.norm() * maxToi`. | |
| */ | |
| intersectsRay(ray: Ray, maxToi: number): boolean; | |
| castShape(collider1Vel: Vector, shape2: Shape, shape2Pos: Vector, shape2Rot: Rotation, shape2Vel: Vector, maxToi: number, stopAtPenetration: boolean): ShapeTOI | null; | |
| castCollider(collider1Vel: Vector, collider2: Collider, collider2Vel: Vector, maxToi: number, stopAtPenetration: boolean): ShapeColliderTOI | null; | |
| intersectsShape(shape2: Shape, shapePos2: Vector, shapeRot2: Rotation): boolean; | |
| /** | |
| * Computes one pair of contact points between the shape owned by this collider and the given shape. | |
| * | |
| * @param shape2 - The second shape. | |
| * @param shape2Pos - The initial position of the second shape. | |
| * @param shape2Rot - The rotation of the second shape. | |
| * @param prediction - The prediction value, if the shapes are separated by a distance greater than this value, test will fail. | |
| * @returns `null` if the shapes are separated by a distance greater than prediction, otherwise contact details. The result is given in world-space. | |
| */ | |
| contactShape(shape2: Shape, shape2Pos: Vector, shape2Rot: Rotation, prediction: number): ShapeContact | null; | |
| /** | |
| * Computes one pair of contact points between the collider and the given collider. | |
| * | |
| * @param collider2 - The second collider. | |
| * @param prediction - The prediction value, if the shapes are separated by a distance greater than this value, test will fail. | |
| * @returns `null` if the shapes are separated by a distance greater than prediction, otherwise contact details. The result is given in world-space. | |
| */ | |
| contactCollider(collider2: Collider, prediction: number): ShapeContact | null; | |
| castRay(ray: Ray, maxToi: number, solid: boolean): number; | |
| /** | |
| * Find the closest intersection between a ray and this collider. | |
| * | |
| * This also computes the normal at the hit point. | |
| * @param ray - The ray to cast. | |
| * @param maxToi - The maximum time-of-impact that can be reported by this cast. This effectively | |
| * limits the length of the ray to `ray.dir.norm() * maxToi`. | |
| * @param solid - If `false` then the ray will attempt to hit the boundary of a shape, even if its | |
| * origin already lies inside of a shape. In other terms, `true` implies that all shapes are plain, | |
| * whereas `false` implies that all shapes are hollow for this ray-cast. | |
| */ | |
| castRayAndGetNormal(ray: Ray, maxToi: number, solid: boolean): RayIntersection | null; | |
| } | |
| export declare enum MassPropsMode { | |
| Density = 0, | |
| Mass = 1, | |
| MassProps = 2 | |
| } | |
| export declare class ColliderDesc { | |
| enabled: boolean; | |
| shape: Shape; | |
| massPropsMode: MassPropsMode; | |
| mass: number; | |
| centerOfMass: Vector; | |
| principalAngularInertia: Vector; | |
| angularInertiaLocalFrame: Rotation; | |
| density: number; | |
| friction: number; | |
| restitution: number; | |
| rotation: Rotation; | |
| translation: Vector; | |
| isSensor: boolean; | |
| collisionGroups: InteractionGroups; | |
| solverGroups: InteractionGroups; | |
| frictionCombineRule: CoefficientCombineRule; | |
| restitutionCombineRule: CoefficientCombineRule; | |
| activeEvents: ActiveEvents; | |
| activeHooks: ActiveHooks; | |
| activeCollisionTypes: ActiveCollisionTypes; | |
| contactForceEventThreshold: number; | |
| /** | |
| * Initializes a collider descriptor from the collision shape. | |
| * | |
| * @param shape - The shape of the collider being built. | |
| */ | |
| constructor(shape: Shape); | |
| /** | |
| * Create a new collider descriptor with a ball shape. | |
| * | |
| * @param radius - The radius of the ball. | |
| */ | |
| static ball(radius: number): ColliderDesc; | |
| /** | |
| * Create a new collider descriptor with a capsule shape. | |
| * | |
| * @param halfHeight - The half-height of the capsule, along the `y` axis. | |
| * @param radius - The radius of the capsule basis. | |
| */ | |
| static capsule(halfHeight: number, radius: number): ColliderDesc; | |
| /** | |
| * Creates a new segment shape. | |
| * | |
| * @param a - The first point of the segment. | |
| * @param b - The second point of the segment. | |
| */ | |
| static segment(a: Vector, b: Vector): ColliderDesc; | |
| /** | |
| * Creates a new triangle shape. | |
| * | |
| * @param a - The first point of the triangle. | |
| * @param b - The second point of the triangle. | |
| * @param c - The third point of the triangle. | |
| */ | |
| static triangle(a: Vector, b: Vector, c: Vector): ColliderDesc; | |
| /** | |
| * Creates a new triangle shape with round corners. | |
| * | |
| * @param a - The first point of the triangle. | |
| * @param b - The second point of the triangle. | |
| * @param c - The third point of the triangle. | |
| * @param borderRadius - The radius of the borders of this triangle. In 3D, | |
| * this is also equal to half the thickness of the triangle. | |
| */ | |
| static roundTriangle(a: Vector, b: Vector, c: Vector, borderRadius: number): ColliderDesc; | |
| /** | |
| * Creates a new collider descriptor with a polyline shape. | |
| * | |
| * @param vertices - The coordinates of the polyline's vertices. | |
| * @param indices - The indices of the polyline's segments. If this is `undefined` or `null`, | |
| * the vertices are assumed to describe a line strip. | |
| */ | |
| static polyline(vertices: Float32Array, indices?: Uint32Array | null): ColliderDesc; | |
| /** | |
| * Creates a new collider descriptor with a triangle mesh shape. | |
| * | |
| * @param vertices - The coordinates of the triangle mesh's vertices. | |
| * @param indices - The indices of the triangle mesh's triangles. | |
| */ | |
| static trimesh(vertices: Float32Array, indices: Uint32Array): ColliderDesc; | |
| /** | |
| * Creates a new collider descriptor with a cuboid shape. | |
| * | |
| * @param hx - The half-width of the rectangle along its local `x` axis. | |
| * @param hy - The half-width of the rectangle along its local `y` axis. | |
| * @param hz - The half-width of the rectangle along its local `z` axis. | |
| */ | |
| static cuboid(hx: number, hy: number, hz: number): ColliderDesc; | |
| /** | |
| * Creates a new collider descriptor with a rectangular shape with round borders. | |
| * | |
| * @param hx - The half-width of the rectangle along its local `x` axis. | |
| * @param hy - The half-width of the rectangle along its local `y` axis. | |
| * @param hz - The half-width of the rectangle along its local `z` axis. | |
| * @param borderRadius - The radius of the cuboid's borders. | |
| */ | |
| static roundCuboid(hx: number, hy: number, hz: number, borderRadius: number): ColliderDesc; | |
| /** | |
| * Creates a new collider descriptor with a heightfield shape. | |
| * | |
| * @param nrows − The number of rows in the heights matrix. | |
| * @param ncols - The number of columns in the heights matrix. | |
| * @param heights - The heights of the heightfield along its local `y` axis, | |
| * provided as a matrix stored in column-major order. | |
| * @param scale - The scale factor applied to the heightfield. | |
| */ | |
| static heightfield(nrows: number, ncols: number, heights: Float32Array, scale: Vector): ColliderDesc; | |
| /** | |
| * Create a new collider descriptor with a cylinder shape. | |
| * | |
| * @param halfHeight - The half-height of the cylinder, along the `y` axis. | |
| * @param radius - The radius of the cylinder basis. | |
| */ | |
| static cylinder(halfHeight: number, radius: number): ColliderDesc; | |
| /** | |
| * Create a new collider descriptor with a cylinder shape with rounded corners. | |
| * | |
| * @param halfHeight - The half-height of the cylinder, along the `y` axis. | |
| * @param radius - The radius of the cylinder basis. | |
| * @param borderRadius - The radius of the cylinder's rounded edges and vertices. | |
| */ | |
| static roundCylinder(halfHeight: number, radius: number, borderRadius: number): ColliderDesc; | |
| /** | |
| * Create a new collider descriptor with a cone shape. | |
| * | |
| * @param halfHeight - The half-height of the cone, along the `y` axis. | |
| * @param radius - The radius of the cone basis. | |
| */ | |
| static cone(halfHeight: number, radius: number): ColliderDesc; | |
| /** | |
| * Create a new collider descriptor with a cone shape with rounded corners. | |
| * | |
| * @param halfHeight - The half-height of the cone, along the `y` axis. | |
| * @param radius - The radius of the cone basis. | |
| * @param borderRadius - The radius of the cone's rounded edges and vertices. | |
| */ | |
| static roundCone(halfHeight: number, radius: number, borderRadius: number): ColliderDesc; | |
| /** | |
| * Computes the convex-hull of the given points and use the resulting | |
| * convex polyhedron as the shape for this new collider descriptor. | |
| * | |
| * @param points - The point that will be used to compute the convex-hull. | |
| */ | |
| static convexHull(points: Float32Array): ColliderDesc | null; | |
| /** | |
| * Creates a new collider descriptor that uses the given set of points assumed | |
| * to form a convex polyline (no convex-hull computation will be done). | |
| * | |
| * @param vertices - The vertices of the convex polyline. | |
| */ | |
| static convexMesh(vertices: Float32Array, indices?: Uint32Array | null): ColliderDesc | null; | |
| /** | |
| * Computes the convex-hull of the given points and use the resulting | |
| * convex polyhedron as the shape for this new collider descriptor. A | |
| * border is added to that convex polyhedron to give it round corners. | |
| * | |
| * @param points - The point that will be used to compute the convex-hull. | |
| * @param borderRadius - The radius of the round border added to the convex polyhedron. | |
| */ | |
| static roundConvexHull(points: Float32Array, borderRadius: number): ColliderDesc | null; | |
| /** | |
| * Creates a new collider descriptor that uses the given set of points assumed | |
| * to form a round convex polyline (no convex-hull computation will be done). | |
| * | |
| * @param vertices - The vertices of the convex polyline. | |
| * @param borderRadius - The radius of the round border added to the convex polyline. | |
| */ | |
| static roundConvexMesh(vertices: Float32Array, indices: Uint32Array | null, borderRadius: number): ColliderDesc | null; | |
| /** | |
| * Sets the position of the collider to be created relative to the rigid-body it is attached to. | |
| */ | |
| setTranslation(x: number, y: number, z: number): ColliderDesc; | |
| /** | |
| * Sets the rotation of the collider to be created relative to the rigid-body it is attached to. | |
| * | |
| * @param rot - The rotation of the collider to be created relative to the rigid-body it is attached to. | |
| */ | |
| setRotation(rot: Rotation): ColliderDesc; | |
| /** | |
| * Sets whether or not the collider being created is a sensor. | |
| * | |
| * A sensor collider does not take part of the physics simulation, but generates | |
| * proximity events. | |
| * | |
| * @param sensor - Set to `true` of the collider built is to be a sensor. | |
| */ | |
| setSensor(sensor: boolean): ColliderDesc; | |
| /** | |
| * Sets whether the created collider will be enabled or disabled. | |
| * @param enabled − If set to `false` the collider will be disabled at creation. | |
| */ | |
| setEnabled(enabled: boolean): ColliderDesc; | |
| /** | |
| * Sets the density of the collider being built. | |
| * | |
| * The mass and angular inertia tensor will be computed automatically based on this density and the collider’s shape. | |
| * | |
| * @param density - The density to set, must be greater or equal to 0. A density of 0 means that this collider | |
| * will not affect the mass or angular inertia of the rigid-body it is attached to. | |
| */ | |
| setDensity(density: number): ColliderDesc; | |
| /** | |
| * Sets the mass of the collider being built. | |
| * | |
| * The angular inertia tensor will be computed automatically based on this mass and the collider’s shape. | |
| * | |
| * @param mass - The mass to set, must be greater or equal to 0. | |
| */ | |
| setMass(mass: number): ColliderDesc; | |
| /** | |
| * Sets the mass properties of the collider being built. | |
| * | |
| * This replaces the mass-properties automatically computed from the collider's density and shape. | |
| * These mass-properties will be added to the mass-properties of the rigid-body this collider will be attached to. | |
| * | |
| * @param mass − The mass of the collider to create. | |
| * @param centerOfMass − The center-of-mass of the collider to create. | |
| * @param principalAngularInertia − The initial principal angular inertia of the collider to create. | |
| * These are the eigenvalues of the angular inertia matrix. | |
| * @param angularInertiaLocalFrame − The initial local angular inertia frame of the collider to create. | |
| * These are the eigenvectors of the angular inertia matrix. | |
| */ | |
| setMassProperties(mass: number, centerOfMass: Vector, principalAngularInertia: Vector, angularInertiaLocalFrame: Rotation): ColliderDesc; | |
| /** | |
| * Sets the restitution coefficient of the collider to be created. | |
| * | |
| * @param restitution - The restitution coefficient in `[0, 1]`. A value of 0 (the default) means no bouncing behavior | |
| * while 1 means perfect bouncing (though energy may still be lost due to numerical errors of the | |
| * constraints solver). | |
| */ | |
| setRestitution(restitution: number): ColliderDesc; | |
| /** | |
| * Sets the friction coefficient of the collider to be created. | |
| * | |
| * @param friction - The friction coefficient. Must be greater or equal to 0. This is generally smaller than 1. The | |
| * higher the coefficient, the stronger friction forces will be for contacts with the collider | |
| * being built. | |
| */ | |
| setFriction(friction: number): ColliderDesc; | |
| /** | |
| * Sets the rule used to combine the friction coefficients of two colliders | |
| * colliders involved in a contact. | |
| * | |
| * @param rule − The combine rule to apply. | |
| */ | |
| setFrictionCombineRule(rule: CoefficientCombineRule): ColliderDesc; | |
| /** | |
| * Sets the rule used to combine the restitution coefficients of two colliders | |
| * colliders involved in a contact. | |
| * | |
| * @param rule − The combine rule to apply. | |
| */ | |
| setRestitutionCombineRule(rule: CoefficientCombineRule): ColliderDesc; | |
| /** | |
| * Sets the collision groups used by this collider. | |
| * | |
| * Two colliders will interact iff. their collision groups are compatible. | |
| * See the documentation of `InteractionGroups` for details on teh used bit pattern. | |
| * | |
| * @param groups - The collision groups used for the collider being built. | |
| */ | |
| setCollisionGroups(groups: InteractionGroups): ColliderDesc; | |
| /** | |
| * Sets the solver groups used by this collider. | |
| * | |
| * Forces between two colliders in contact will be computed iff their solver | |
| * groups are compatible. | |
| * See the documentation of `InteractionGroups` for details on the used bit pattern. | |
| * | |
| * @param groups - The solver groups used for the collider being built. | |
| */ | |
| setSolverGroups(groups: InteractionGroups): ColliderDesc; | |
| /** | |
| * Set the physics hooks active for this collider. | |
| * | |
| * Use this to enable custom filtering rules for contact/intersecstion pairs involving this collider. | |
| * | |
| * @param activeHooks - The hooks active for contact/intersection pairs involving this collider. | |
| */ | |
| setActiveHooks(activeHooks: ActiveHooks): ColliderDesc; | |
| /** | |
| * Set the events active for this collider. | |
| * | |
| * Use this to enable contact and/or intersection event reporting for this collider. | |
| * | |
| * @param activeEvents - The events active for contact/intersection pairs involving this collider. | |
| */ | |
| setActiveEvents(activeEvents: ActiveEvents): ColliderDesc; | |
| /** | |
| * Set the collision types active for this collider. | |
| * | |
| * @param activeCollisionTypes - The hooks active for contact/intersection pairs involving this collider. | |
| */ | |
| setActiveCollisionTypes(activeCollisionTypes: ActiveCollisionTypes): ColliderDesc; | |
| /** | |
| * Sets the total force magnitude beyond which a contact force event can be emitted. | |
| * | |
| * @param threshold - The force threshold to set. | |
| */ | |
| setContactForceEventThreshold(threshold: number): ColliderDesc; | |
| } | |
Xet Storage Details
- Size:
- 32.3 kB
- Xet hash:
- f5ede3f843f3adc92739fc024d7e49d635257847019c63aa84bbec3ea5726c2a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.