Skip to main content

Class: CollisionObject

physics/collisionObject.CollisionObject

Represents a physics object that can experience collisions.

The object's collider is positioned in world space, not relative to the object.

Hierarchy

Constructors

constructor

โ€ข new CollisionObject(collider, mass?, restitution?)

Creates a CollisionObject with a collider, mass and restitution.

Parameters

NameTypeDescription
colliderColliderThe collider shape of the object
mass?numberThe mass of the object
restitution?numberThe restitution(bounciness) of the object

Overrides

PhysicsObject.constructor

Defined in

src/physics/collisionObject.ts:54

Properties

airFriction

โ€ข airFriction: number = 0

The damping applied to the object's linear velocity every physics update.

Inherited from

PhysicsObject.airFriction

Defined in

src/physics/object.ts:68


angularDamping

โ€ข angularDamping: number = 0

The damping applied to the object's angular velocity every physics update.

Inherited from

PhysicsObject.angularDamping

Defined in

src/physics/object.ts:97


angularVelocity

โ€ข angularVelocity: number = 0

The object's angular velocity in radians per second.

Inherited from

PhysicsObject.angularVelocity

Defined in

src/physics/object.ts:80


collider

โ€ข collider: Collider

The object's collider.

Defined in

src/physics/collisionObject.ts:23


dynamicFriction

โ€ข dynamicFriction: number = 0.1

Coefficient of dynamic/kinetic friction.

This value should be between 0 and 1 for best results.

see Static And Kinetic Friction

Inherited from

PhysicsObject.dynamicFriction

Defined in

src/physics/object.ts:51


filter

โ€ข filter: CollisionFilter

The object's collision filter.

Defined in

src/physics/collisionObject.ts:18


force

โ€ข force: vec2

The net force applied to the object in newtons.

Inherited from

PhysicsObject.force

Defined in

src/physics/object.ts:58


gravity

โ€ข gravity: vec2

The gravitational froce applied to the object.

Inherited from

PhysicsObject.gravity

Defined in

src/physics/object.ts:12


isStatic

โ€ข isStatic: boolean = false

Wether or not the object is static, static objects do not move during collisions.

Defined in

src/physics/collisionObject.ts:38


isTrigger

โ€ข isTrigger: boolean = false

Wether or not the collision object should be a trigger.

When true the object will detect but not respond to collisions.

Defined in

src/physics/collisionObject.ts:45


listeners

โ€ข Protected listeners: Object = {}

Index signature

โ–ช [index: string]: Listener[]

Inherited from

PhysicsObject.listeners

Defined in

src/object2d.ts:32


lockRotation

โ€ข lockRotation: boolean = false

Wether or not the object can rotate.

When true the object's rotation will not be affected by collisions or dynamics.

Inherited from

PhysicsObject.lockRotation

Defined in

src/physics/object.ts:125


lockXAxis

โ€ข lockXAxis: boolean = false

Wether or not the object's x position is locked.

When true the object's x position will not be affected by collisions or dynamics.

Inherited from

PhysicsObject.lockXAxis

Defined in

src/physics/object.ts:111


lockYAxis

โ€ข lockYAxis: boolean = false

Wether or not the object's y position is locked.

When true the object's y position will not be affected by collisions or dynamics.

Inherited from

PhysicsObject.lockYAxis

Defined in

src/physics/object.ts:118


restitution

โ€ข restitution: number = 0

Elasticity/bounciness

This value should be between 0 and 1 for best results.

Inherited from

PhysicsObject.restitution

Defined in

src/physics/object.ts:33


staticFriction

โ€ข staticFriction: number = 0.1

Coefficient of static friction.

This value should be between 0 and 1 for best results.

see Static And Kinetic Friction

Inherited from

PhysicsObject.staticFriction

Defined in

src/physics/object.ts:42


stickyCollider

โ€ข stickyCollider: boolean = true

Wether or not to clone the object's position and rotation to it's collider.

Defined in

src/physics/collisionObject.ts:33


takesGravity

โ€ข takesGravity: boolean = true

Wether or not the object should take gravity from the physics world.

Inherited from

PhysicsObject.takesGravity

Defined in

src/physics/object.ts:104


torque

โ€ข torque: number = 0

The object's torque in newtons, can be thought of as rotational force.

Inherited from

PhysicsObject.torque

Defined in

src/physics/object.ts:75


totalContacts

โ€ข totalContacts: number = 0

The number of contact points the object is colliding at.

Defined in

src/physics/collisionObject.ts:28


velocity

โ€ข velocity: vec2

The object's velocity in world space units (metres).

Inherited from

PhysicsObject.velocity

Defined in

src/physics/object.ts:63

Methods

addEventListener

โ–ธ addEventListener(event, listener): boolean

Executes a function when an event is fired.

Parameters

NameTypeDescription
eventstringThe event to listen for
listenerListenerThe function to execute when the event fired

Returns

boolean

Wether or not the listener was added

Inherited from

PhysicsObject.addEventListener

Defined in

src/object2d.ts:209


applyForce

โ–ธ applyForce(force, contact?): void

Adds a force to the object's current total force vector.

If no contact point is provided then the force will be applied at the object's centre, generating 0 torque.

Parameters

NameTypeDescription
forcevec2The force vector to apply
contact?vec2The local position on the body to apply the force at

Returns

void

Inherited from

PhysicsObject.applyForce

Defined in

src/physics/object.ts:156


applyForceAtAngle

โ–ธ applyForceAtAngle(force, angle, contact?): void

Applies a force to the object at an angle.

The direction vector is calculated from the unit y+ vector.

If no contact point is provided then the force will be applied at the object's centre, generating 0 torque.

Parameters

NameTypeDescription
forcenumberThe force to apply in newtons
anglenumberThe angle at which to apply the force in radians (world space)
contact?vec2The local position on the body to apply the force at

Returns

void

Inherited from

PhysicsObject.applyForceAtAngle

Defined in

src/physics/object.ts:178


applyImpulse

โ–ธ applyImpulse(impulse, contactVector): void

Applies an impulse to the physics object.

This will apply an instantaneous change to the object's angular and linear velocity.

Parameters

NameTypeDescription
impulsevec2The impulse to apply
contactVectorvec2A vector from the object's center to the contact point

Returns

void

Inherited from

PhysicsObject.applyImpulse

Defined in

src/physics/object.ts:199


fireEvent

โ–ธ fireEvent(event, ...e): void

Executes all listeners attached to a given event.

Parameters

NameTypeDescription
eventstringThe event to fire
...eanyThe data to pass to each event listener

Returns

void

Inherited from

PhysicsObject.fireEvent

Defined in

src/object2d.ts:185


getEventListeners

โ–ธ getEventListeners(event): Listener[]

Gets the listeners attached to an event.

Parameters

NameType
eventstring

Returns

Listener[]

An array of listeners attached to the given event

Inherited from

PhysicsObject.getEventListeners

Defined in

src/object2d.ts:198


getEvents

โ–ธ getEvents(): string[]

Gets the events that can be listened to on the object.

Returns

string[]

The events the object supports

Inherited from

PhysicsObject.getEvents

Defined in

src/object2d.ts:175


getInertia

โ–ธ getInertia(): number

Gets the moment of inertia of the object.

Returns

number

The inertia of the object

Inherited from

PhysicsObject.getInertia

Defined in

src/physics/object.ts:257


getInverseInertia

โ–ธ getInverseInertia(): number

Gets the inverse moment of inertia of the object (1 / inertia).

Returns

number

The inverse inertia of the object

Inherited from

PhysicsObject.getInverseInertia

Defined in

src/physics/object.ts:266


getInverseMass

โ–ธ getInverseMass(): number

Gets the inverse mass of the object (1 / mass).

Returns

number

The inverse mass of the object

Inherited from

PhysicsObject.getInverseMass

Defined in

src/physics/object.ts:234


getMass

โ–ธ getMass(): number

Gets the mass of the object.

Returns

number

The mass of the object

Inherited from

PhysicsObject.getMass

Defined in

src/physics/object.ts:225


getPosition

โ–ธ getPosition(): vec2

Gets the object's position.

Returns

vec2

The object's position as a vec2

Inherited from

PhysicsObject.getPosition

Defined in

src/object2d.ts:82


getRotation

โ–ธ getRotation(): number

Gets the object's rotation as a number in radians relative to y+.

Returns

number

The object's rotation

Inherited from

PhysicsObject.getRotation

Defined in

src/object2d.ts:139


moveRight

โ–ธ moveRight(dist): void

Moves the object's position right (x+) relative to it's rotation.

Parameters

NameTypeDescription
distnumberThe distance to move right, can be + or -

Returns

void

Inherited from

PhysicsObject.moveRight

Defined in

src/object2d.ts:100


moveUp

โ–ธ moveUp(dist): void

Moves the object's position up (y+) relative to it's rotation.

Parameters

NameTypeDescription
distnumberThe distance to move up, can be + or -

Returns

void

Inherited from

PhysicsObject.moveUp

Defined in

src/object2d.ts:114


removeEventListener

โ–ธ removeEventListener(event, listener): boolean

Removes a listener from an event.

Parameters

NameTypeDescription
eventstringThe event the listener is attached to
listenerListenerThe listener to remove

Returns

boolean

Wether or not the listener was removed

Inherited from

PhysicsObject.removeEventListener

Defined in

src/object2d.ts:223


rotate

โ–ธ rotate(angle): void

Increments the object's rotation by an angle in radians.

Parameters

NameTypeDescription
anglenumberThe angle to rotate by in radians

Returns

void

Inherited from

PhysicsObject.rotate

Defined in

src/object2d.ts:148


setInertia

โ–ธ setInertia(inertia): void

Sets the moment of inertia of the object.

Also computes the inverse inertia.

NOTE: Setting the inertia to 0 will act as infinite inertia.

Parameters

NameTypeDescription
inertianumberThe objects new inertia

Returns

void

Inherited from

PhysicsObject.setInertia

Defined in

src/physics/object.ts:247


setMass

โ–ธ setMass(mass): void

Sets the mass of the object in kg.

Also computes the inverse mass.

NOTE: Setting the mass to 0 will act as infinite mass.

Parameters

NameTypeDescription
massnumberThe objects new mass

Returns

void

Inherited from

PhysicsObject.setMass

Defined in

src/physics/object.ts:213


setPosition

โ–ธ setPosition(pos): void

Sets the object's position.

Also sets this.collider's position, if this.stickyCollider is true.

Parameters

NameTypeDescription
posvec2The object's new position

Returns

void

Overrides

PhysicsObject.setPosition

Defined in

src/physics/collisionObject.ts:121


setPositionX

โ–ธ setPositionX(x): void

Sets the x component of the object's position.

Parameters

NameTypeDescription
xnumberThe object's new x coordinate

Returns

void

Inherited from

PhysicsObject.setPositionX

Defined in

src/object2d.ts:56


setPositionY

โ–ธ setPositionY(y): void

Sets the y component of the object's position.

Parameters

NameTypeDescription
ynumberThe object's new y coordinate

Returns

void

Inherited from

PhysicsObject.setPositionY

Defined in

src/object2d.ts:69


setRotation

โ–ธ setRotation(angle): void

Sets the object's rotation, in radians.

Also sets this.collider's rotation, if this.stickyCollider is true.

Parameters

NameTypeDescription
anglenumberThe object's new rotation angle (in radians)

Returns

void

Overrides

PhysicsObject.setRotation

Defined in

src/physics/collisionObject.ts:133


setupEvents

โ–ธ Protected setupEvents(): void

Sets all the events that can be used in listeners.

Listeners can be added for an event using:

   this.listeners.eventName = [];

Returns

void

Overrides

PhysicsObject.setupEvents

Defined in

src/physics/collisionObject.ts:62


testCollision

โ–ธ testCollision(B): CollisionResult

Checks if this object's collider is colliding with another object's collider.

Parameters

NameTypeDescription
BCollisionObjectCollisionObject to test collisions against

Returns

CollisionResult

CollisionResult with the results of the test

Defined in

src/physics/collisionObject.ts:75


translate

โ–ธ translate(v): void

Translates the object by the provided vector.

Parameters

NameTypeDescription
vvec2The vector to translate by

Returns

void

Inherited from

PhysicsObject.translate

Defined in

src/object2d.ts:91