Options
All
  • Public
  • Public/Protected
  • All
Menu

A geometric entity that can be attached to a body so it can be affected by contacts and proximity queries.

Hierarchy

  • Collider

Index

Constructors

Properties

_parent: any
_shape: any
colliderSet: any
ensureShapeIsCached: any
handle: number

Accessors

  • The shape of this collider.

    Returns Shape

Methods

  • Gets the collision types active for this collider.

    Returns ActiveCollisionTypes

  • The events active for this collider.

    Returns ActiveEvents

  • activeHooks(): number
  • Get the physics hooks active for this collider.

    Returns number

  • castRay(ray: Ray, maxToi: number, solid: boolean): number
  • Parameters

    • ray: Ray
    • maxToi: number
    • solid: boolean

    Returns number

  • Find the closest intersection between a ray and this collider.

    This also computes the normal at the hit point.

    Parameters

    • ray: Ray

      The ray to cast.

    • maxToi: number

      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.

    • solid: boolean

      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.

    Returns RayIntersection

  • collisionGroups(): number
  • The collision groups of this collider.

    Returns number

  • Computes one pair of contact points between the collider and the given collider.

    Parameters

    • collider2: Collider

      The second collider.

    • prediction: number

      The prediction value, if the shapes are separated by a distance greater than this value, test will fail.

    Returns ShapeContact

    null if the shapes are separated by a distance greater than prediction, otherwise contact details. The result is given in world-space.

  • contactForceEventThreshold(): number
  • The total force magnitude beyond which a contact force event can be emitted.

    Returns number

  • Computes one pair of contact points between the shape owned by this collider and the given shape.

    Parameters

    • shape2: Shape

      The second shape.

    • shape2Pos: Vector

      The initial position of the second shape.

    • shape2Rot: Rotation

      The rotation of the second shape.

    • prediction: number

      The prediction value, if the shapes are separated by a distance greater than this value, test will fail.

    Returns ShapeContact

    null if the shapes are separated by a distance greater than prediction, otherwise contact details. The result is given in world-space.

  • containsPoint(point: Vector): boolean
  • Tests if this collider contains a point.

    Parameters

    • point: Vector

      The point to test.

    Returns boolean

  • density(): number
  • The density of this collider.

    Returns number

  • internal

    Parameters

    Returns void

  • friction(): number
  • The friction coefficient of this collider.

    Returns number

  • Gets the rule used to combine the friction coefficients of two colliders colliders involved in a contact.

    Returns CoefficientCombineRule

  • 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.

    Returns Vector

  • halfHeight(): number
  • 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.

    Returns number

  • heightfieldHeights(): Float32Array
  • 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.

    Returns Float32Array

  • heightfieldNCols(): 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.

    Returns number

  • heightfieldNRows(): number
  • 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.

    Returns number

  • 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.

    Returns Vector

  • indices(): Uint32Array
  • 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.

    Returns Uint32Array

  • intersectsRay(ray: Ray, maxToi: number): boolean
  • Tests if this collider intersects the given ray.

    Parameters

    • ray: Ray

      The ray to cast.

    • maxToi: number

      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.

    Returns boolean

  • Parameters

    Returns boolean

  • isSensor(): boolean
  • Is this collider a sensor?

    Returns boolean

  • isValid(): boolean
  • Checks if this collider is still valid (i.e. that it has not been deleted from the collider set yet).

    Returns boolean

  • mass(): number
  • The mass of this collider.

    Returns number

  • The rigid-body this collider is attached to.

    Returns RigidBody

  • Find the projection of a point on this collider.

    Parameters

    • point: Vector

      The point to project.

    • solid: boolean

      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).

    Returns PointProjection

  • radius(): number
  • 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.

    Returns number

  • restitution(): number
  • The restitution coefficient of this collider.

    Returns number

  • Gets the rule used to combine the restitution coefficients of two colliders colliders involved in a contact.

    Returns CoefficientCombineRule

  • The world-space orientation of this rigid-body.

    Returns Rotation

  • roundRadius(): number
  • 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.

    Returns number

  • Set the collision types active for this collider.

    Parameters

    • activeCollisionTypes: ActiveCollisionTypes

      The hooks active for contact/intersection pairs involving this collider.

    Returns void

  • Set the events active for this collider.

    Use this to enable contact and/or intersection event reporting for this collider.

    Parameters

    • activeEvents: ActiveEvents

      The events active for contact/intersection pairs involving this collider.

    Returns void

  • Set the physics hooks active for this collider.

    Use this to enable custom filtering rules for contact/intersecstion pairs involving this collider.

    Parameters

    • activeHooks: ActiveHooks

      The hooks active for contact/intersection pairs involving this collider.

    Returns void

  • setCollisionGroups(groups: number): 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.

    Parameters

    • groups: number

      The collision groups used for the collider being built.

    Returns void

  • setContactForceEventThreshold(threshold: number): void
  • Sets the total force magnitude beyond which a contact force event can be emitted.

    Parameters

    • threshold: number

      The new force threshold.

    Returns void

  • setDensity(density: number): 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.

    Parameters

    • density: number

    Returns void

  • setFriction(friction: number): void
  • Sets the friction coefficient of the collider to be created.

    Parameters

    • friction: number

      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.

    Returns void

  • Sets the rule used to combine the friction coefficients of two colliders colliders involved in a contact.

    Parameters

    Returns void

  • 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.

    The angular inertia of this collider will be computed automatically based on its shape and this mass value.

    Parameters

    • mass: number

    Returns void

  • setMassProperties(mass: number, centerOfMass: Vector, principalAngularInertia: Vector, angularInertiaLocalFrame: Rotation): 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.

    Parameters

    Returns void

  • setRestitution(restitution: number): void
  • Sets the restitution coefficient of the collider to be created.

    Parameters

    • restitution: number

      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).

    Returns void

  • Sets the rule used to combine the restitution coefficients of two colliders colliders involved in a contact.

    Parameters

    Returns void

  • Sets the rotation quaternion of this collider.

    This does nothing if a zero quaternion is provided.

    Parameters

    Returns void

  • setRotationWrtParent(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.

    Parameters

    Returns void

  • setSensor(isSensor: boolean): void
  • Sets whether or not this collider is a sensor.

    Parameters

    • isSensor: boolean

      If true, the collider will be a sensor.

    Returns void

  • setShape(shape: Shape): void
  • Sets the new shape of the collider.

    Parameters

    • shape: Shape

      The collider’s new shape.

    Returns void

  • setSolverGroups(groups: number): 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.

    Parameters

    • groups: number

      The solver groups used for the collider being built.

    Returns void

  • setTranslation(tra: Vector): void
  • Sets the translation of this collider.

    Parameters

    • tra: Vector

      The world-space position of the collider.

    Returns void

  • setTranslationWrtParent(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.

    Parameters

    • tra: Vector

      The new translation of the collider relative to its parent.

    Returns 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.

    Returns ShapeType

  • solverGroups(): number
  • The solver groups of this collider.

    Returns number

  • The world-space translation of this rigid-body.

    Returns Vector

  • vertices(): Float32Array
  • 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.

    Returns Float32Array

  • volume(): number
  • The volume of this collider.

    Returns number

Generated using TypeDoc