Skip to content

@ue-too/dynamics / index / BaseRigidBody

Abstract Class: BaseRigidBody ​

Defined in: rigidbody.ts:70

Rigid body interface for 2D physics simulation.

Remarks ​

Represents a physical object in the physics world with mass, velocity, rotation, and collision properties. Can be either static (immovable) or dynamic (responds to forces).

Implemented by Circle and Polygon classes.

Extended by ​

Implements ​

Constructors ​

Constructor ​

new BaseRigidBody(center, _orientationAngle, mass, isStaticBody, frictionEnabled): BaseRigidBody

Defined in: rigidbody.ts:94

Parameters ​

center ​

Point

_orientationAngle ​

number = 0

mass ​

number = 50

isStaticBody ​

boolean = false

frictionEnabled ​

boolean = false

Returns ​

BaseRigidBody

Properties ​

_angularVelocity ​

protected _angularVelocity: number

Defined in: rigidbody.ts:74


_center ​

protected _center: Point

Defined in: rigidbody.ts:71


_linearVelocity ​

protected _linearVelocity: Point

Defined in: rigidbody.ts:73


_mass ​

protected _mass: number = 50

Defined in: rigidbody.ts:72


_orientationAngle ​

protected _orientationAngle: number = 0

Defined in: rigidbody.ts:75


_staticFrictionCoeff ​

protected _staticFrictionCoeff: number = 0.3

Defined in: rigidbody.ts:79


angularDampingFactor ​

protected angularDampingFactor: number = 0.005

Defined in: rigidbody.ts:83


collisionFilter ​

collisionFilter: CollisionFilter

Defined in: rigidbody.ts:86

Collision filtering configuration

Implementation of ​

RigidBody.collisionFilter


dynamicFrictionCoeff ​

protected dynamicFrictionCoeff: number = 0.3

Defined in: rigidbody.ts:80


force ​

protected force: Point

Defined in: rigidbody.ts:77


frictionEnabled ​

protected frictionEnabled: boolean = false

Defined in: rigidbody.ts:81


isMovingStaticBody ​

protected isMovingStaticBody: boolean = false

Defined in: rigidbody.ts:82


isSleeping ​

isSleeping: boolean = false

Defined in: rigidbody.ts:89

Implementation of ​

RigidBody.isSleeping


isStaticBody ​

protected isStaticBody: boolean = false

Defined in: rigidbody.ts:78


linearAcceleartion ​

protected linearAcceleartion: Point

Defined in: rigidbody.ts:76


sleepThreshold ​

sleepThreshold: number = 0.01

Defined in: rigidbody.ts:90

Implementation of ​

RigidBody.sleepThreshold


sleepTime ​

sleepTime: number = 0.5

Defined in: rigidbody.ts:91

Implementation of ​

RigidBody.sleepTime


timeAtRest ​

timeAtRest: number = 0

Defined in: rigidbody.ts:92

Implementation of ​

RigidBody.timeAtRest

Accessors ​

AABB ​

Get Signature ​

get abstract AABB(): object

Defined in: rigidbody.ts:324

Axis-Aligned Bounding Box for broad phase collision

Returns ​

object

max ​

max: Point

min ​

min: Point

Axis-Aligned Bounding Box for broad phase collision

Implementation of ​

RigidBody.AABB


angularVelocity ​

Get Signature ​

get angularVelocity(): number

Defined in: rigidbody.ts:130

Angular velocity (radians/second)

Returns ​

number

Set Signature ​

set angularVelocity(angularVelocity): void

Defined in: rigidbody.ts:134

Angular velocity (radians/second)

Parameters ​
angularVelocity ​

number

Returns ​

void

Angular velocity (radians/second)

Implementation of ​

RigidBody.angularVelocity


center ​

Get Signature ​

get center(): Point

Defined in: rigidbody.ts:290

Center position in world coordinates

Returns ​

Point

Set Signature ​

set center(dest): void

Defined in: rigidbody.ts:294

Center position in world coordinates

Parameters ​
dest ​

Point

Returns ​

void

Center position in world coordinates

Implementation of ​

RigidBody.center


linearVelocity ​

Get Signature ​

get linearVelocity(): Point

Defined in: rigidbody.ts:298

Linear velocity (pixels/second)

Returns ​

Point

Set Signature ​

set linearVelocity(dest): void

Defined in: rigidbody.ts:302

Linear velocity (pixels/second)

Parameters ​
dest ​

Point

Returns ​

void

Linear velocity (pixels/second)

Implementation of ​

RigidBody.linearVelocity


mass ​

Get Signature ​

get mass(): number

Defined in: rigidbody.ts:306

Mass in arbitrary units (affects force response)

Returns ​

number

Mass in arbitrary units (affects force response)

Implementation of ​

RigidBody.mass


momentOfInertia ​

Get Signature ​

get abstract momentOfInertia(): number

Defined in: rigidbody.ts:318

Moment of inertia (rotational mass)

Returns ​

number

Moment of inertia (rotational mass)

Implementation of ​

RigidBody.momentOfInertia


orientationAngle ​

Get Signature ​

get orientationAngle(): number

Defined in: rigidbody.ts:138

Rotation angle in radians

Returns ​

number

Rotation angle in radians

Implementation of ​

RigidBody.orientationAngle


staticFrictionCoeff ​

Get Signature ​

get staticFrictionCoeff(): number

Defined in: rigidbody.ts:310

Static friction coefficient (0-1)

Returns ​

number

Set Signature ​

set staticFrictionCoeff(coeff): void

Defined in: rigidbody.ts:314

Static friction coefficient (0-1)

Parameters ​
coeff ​

number

Returns ​

void

Static friction coefficient (0-1)

Implementation of ​

RigidBody.staticFrictionCoeff

Methods ​

applyForce() ​

applyForce(force): void

Defined in: rigidbody.ts:162

Parameters ​

force ​

Point

Returns ​

void

Implementation of ​

RigidBody.applyForce


applyForceInOrientation() ​

applyForceInOrientation(force): void

Defined in: rigidbody.ts:170

Parameters ​

force ​

number | Point

Returns ​

void

Implementation of ​

RigidBody.applyForceInOrientation


getAdjacentFaces() ​

abstract getAdjacentFaces(collisionNormal): object[]

Defined in: rigidbody.ts:328

Parameters ​

collisionNormal ​

Point

Returns ​

object[]

Implementation of ​

RigidBody.getAdjacentFaces


getCenter() ​

getCenter(): Point

Defined in: rigidbody.ts:122

Returns ​

Point


getCollisionAxes() ​

abstract getCollisionAxes(relativeBody): Point[]

Defined in: rigidbody.ts:323

Parameters ​

relativeBody ​

RigidBody

Returns ​

Point[]

Implementation of ​

RigidBody.getCollisionAxes


getMinMaxProjection() ​

abstract getMinMaxProjection(unitvector): object

Defined in: rigidbody.ts:319

Parameters ​

unitvector ​

Point

Returns ​

object

max ​

max: number

min ​

min: number

Implementation of ​

RigidBody.getMinMaxProjection


getNormalOfSignificantFace() ​

abstract getNormalOfSignificantFace(collisionNormal): Point

Defined in: rigidbody.ts:327

Parameters ​

collisionNormal ​

Point

Returns ​

Point

Implementation of ​

RigidBody.getNormalOfSignificantFace


getOrientationAngle() ​

getOrientationAngle(): number

Defined in: rigidbody.ts:126

Returns ​

number


getSignificantVertices() ​

abstract getSignificantVertices(collisionNormal): Point[]

Defined in: rigidbody.ts:326

Parameters ​

collisionNormal ​

Point

Returns ​

Point[]

Implementation of ​

RigidBody.getSignificantVertices


isMovingStatic() ​

isMovingStatic(): boolean

Defined in: rigidbody.ts:146

Returns ​

boolean

Implementation of ​

RigidBody.isMovingStatic


isStatic() ​

isStatic(): boolean

Defined in: rigidbody.ts:142

Returns ​

boolean

Implementation of ​

RigidBody.isStatic


move() ​

move(delta): void

Defined in: rigidbody.ts:112

Parameters ​

delta ​

Point

Returns ​

void

Implementation of ​

RigidBody.move


rotateRadians() ​

rotateRadians(angle): void

Defined in: rigidbody.ts:118

Parameters ​

angle ​

number

Returns ​

void


setLinearVelocity() ​

setLinearVelocity(linearVelocity): void

Defined in: rigidbody.ts:150

Parameters ​

linearVelocity ​

Point

Returns ​

void


setMovingStatic() ​

setMovingStatic(movingStatic): void

Defined in: rigidbody.ts:154

Parameters ​

movingStatic ​

boolean

Returns ​

void


setOrientationAngle() ​

setOrientationAngle(angle): void

Defined in: rigidbody.ts:158

Parameters ​

angle ​

number

Returns ​

void


setSleeping() ​

setSleeping(sleeping): void

Defined in: rigidbody.ts:334

Parameters ​

sleeping ​

boolean

Returns ​

void

Implementation of ​

RigidBody.setSleeping


significantVertex() ​

abstract significantVertex(collisionNormal): Point

Defined in: rigidbody.ts:325

Parameters ​

collisionNormal ​

Point

Returns ​

Point

Implementation of ​

RigidBody.significantVertex


step() ​

step(deltaTime): void

Defined in: rigidbody.ts:186

Parameters ​

deltaTime ​

number

Returns ​

void

Implementation of ​

RigidBody.step


updateSleeping() ​

updateSleeping(deltaTime): void

Defined in: rigidbody.ts:345

Parameters ​

deltaTime ​

number

Returns ​

void

Implementation of ​

RigidBody.updateSleeping