Skip to content

@ue-too/dynamics / 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:318

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:284

Center position in world coordinates

Returns

Point

Set Signature

set center(dest): void

Defined in: rigidbody.ts:288

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:292

Linear velocity (pixels/second)

Returns

Point

Set Signature

set linearVelocity(dest): void

Defined in: rigidbody.ts:296

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:300

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:312

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:304

Static friction coefficient (0-1)

Returns

number

Set Signature

set staticFrictionCoeff(coeff): void

Defined in: rigidbody.ts:308

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:322

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:317

Parameters

relativeBody

RigidBody

Returns

Point[]

Implementation of

RigidBody.getCollisionAxes


getMinMaxProjection()

abstract getMinMaxProjection(unitvector): object

Defined in: rigidbody.ts:313

Parameters

unitvector

Point

Returns

object

max

max: number

min

min: number

Implementation of

RigidBody.getMinMaxProjection


getNormalOfSignificantFace()

abstract getNormalOfSignificantFace(collisionNormal): Point

Defined in: rigidbody.ts:321

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:320

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:328

Parameters

sleeping

boolean

Returns

void

Implementation of

RigidBody.setSleeping


significantVertex()

abstract significantVertex(collisionNormal): Point

Defined in: rigidbody.ts:319

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:339

Parameters

deltaTime

number

Returns

void

Implementation of

RigidBody.updateSleeping