Skip to content

@ue-too/dynamics / VisualPolygonBody

Class: VisualPolygonBody

Defined in: rigidbody.ts:540

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.

Implements

Constructors

Constructor

new VisualPolygonBody(center, vertices, drawingContext, _orientationAngle, mass, isStatic, frictionEnabled): VisualPolygonBody

Defined in: rigidbody.ts:553

Parameters

center

Point = ...

vertices

Point[]

drawingContext

CanvasRenderingContext2D

_orientationAngle

number = 0

mass

number = 50

isStatic

boolean = false

frictionEnabled

boolean = true

Returns

VisualPolygonBody

Properties

collisionFilter

collisionFilter: CollisionFilter

Defined in: rigidbody.ts:545

Collision filtering configuration

Implementation of

RigidBody.collisionFilter


isSleeping

isSleeping: boolean = false

Defined in: rigidbody.ts:548

Implementation of

RigidBody.isSleeping


sleepThreshold

sleepThreshold: number = 0.01

Defined in: rigidbody.ts:549

Implementation of

RigidBody.sleepThreshold


sleepTime

sleepTime: number = 0.5

Defined in: rigidbody.ts:550

Implementation of

RigidBody.sleepTime


timeAtRest

timeAtRest: number = 0

Defined in: rigidbody.ts:551

Implementation of

RigidBody.timeAtRest

Accessors

AABB

Get Signature

get AABB(): object

Defined in: rigidbody.ts:660

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

Angular velocity (radians/second)

Returns

number

Set Signature

set angularVelocity(angularVelocity): void

Defined in: rigidbody.ts:644

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

Center position in world coordinates

Returns

Point

Set Signature

set center(dest): void

Defined in: rigidbody.ts:628

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

Linear velocity (pixels/second)

Returns

Point

Set Signature

set linearVelocity(dest): void

Defined in: rigidbody.ts:636

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

Mass in arbitrary units (affects force response)

Returns

number

Mass in arbitrary units (affects force response)

Implementation of

RigidBody.mass


momentOfInertia

Get Signature

get momentOfInertia(): number

Defined in: rigidbody.ts:676

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

Rotation angle in radians

Returns

number

Rotation angle in radians

Implementation of

RigidBody.orientationAngle


staticFrictionCoeff

Get Signature

get staticFrictionCoeff(): number

Defined in: rigidbody.ts:668

Static friction coefficient (0-1)

Returns

number

Set Signature

set staticFrictionCoeff(coeff): void

Defined in: rigidbody.ts:672

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

Parameters

force

Point

Returns

void

Implementation of

RigidBody.applyForce


applyForceInOrientation()

applyForceInOrientation(force): void

Defined in: rigidbody.ts:612

Parameters

force

Point

Returns

void

Implementation of

RigidBody.applyForceInOrientation


draw()

draw(ctx): void

Defined in: rigidbody.ts:573

Parameters

ctx

CanvasRenderingContext2D

Returns

void

Implementation of

VisualComponent.draw


getAdjacentFaces()

getAdjacentFaces(collisionNormal): object[]

Defined in: rigidbody.ts:684

Parameters

collisionNormal

Point

Returns

object[]

Implementation of

RigidBody.getAdjacentFaces


getCollisionAxes()

getCollisionAxes(relativeBody): Point[]

Defined in: rigidbody.ts:604

Parameters

relativeBody

RigidBody

Returns

Point[]

Implementation of

RigidBody.getCollisionAxes


getMinMaxProjection()

getMinMaxProjection(unitvector): object

Defined in: rigidbody.ts:600

Parameters

unitvector

Point

Returns

object

max

max: number

min

min: number

Implementation of

RigidBody.getMinMaxProjection


getNormalOfSignificantFace()

getNormalOfSignificantFace(collisionNormal): Point

Defined in: rigidbody.ts:680

Parameters

collisionNormal

Point

Returns

Point

Implementation of

RigidBody.getNormalOfSignificantFace


getSignificantVertices()

getSignificantVertices(collisionNormal): Point[]

Defined in: rigidbody.ts:656

Parameters

collisionNormal

Point

Returns

Point[]

Implementation of

RigidBody.getSignificantVertices


isMovingStatic()

isMovingStatic(): boolean

Defined in: rigidbody.ts:596

Returns

boolean

Implementation of

RigidBody.isMovingStatic


isStatic()

isStatic(): boolean

Defined in: rigidbody.ts:592

Returns

boolean

Implementation of

RigidBody.isStatic


move()

move(delta): void

Defined in: rigidbody.ts:620

Parameters

delta

Point

Returns

void

Implementation of

RigidBody.move


setLinearVelocity()

setLinearVelocity(linearVelocity): void

Defined in: rigidbody.ts:616

Parameters

linearVelocity

Point

Returns

void


setSleeping()

setSleeping(sleeping): void

Defined in: rigidbody.ts:692

Parameters

sleeping

boolean

Returns

void

Implementation of

RigidBody.setSleeping


significantVertex()

significantVertex(collisionNormal): Point

Defined in: rigidbody.ts:652

Parameters

collisionNormal

Point

Returns

Point

Implementation of

RigidBody.significantVertex


step()

step(deltaTime): void

Defined in: rigidbody.ts:587

Parameters

deltaTime

number

Returns

void

Implementation of

RigidBody.step


updateSleeping()

updateSleeping(deltaTime): void

Defined in: rigidbody.ts:703

Parameters

deltaTime

number

Returns

void

Implementation of

RigidBody.updateSleeping