Skip to content

@ue-too/dynamics / index / VisualPolygonBody

Class: VisualPolygonBody ​

Defined in: rigidbody.ts:546

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

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

Collision filtering configuration

Implementation of ​

RigidBody.collisionFilter


isSleeping ​

isSleeping: boolean = false

Defined in: rigidbody.ts:554

Implementation of ​

RigidBody.isSleeping


sleepThreshold ​

sleepThreshold: number = 0.01

Defined in: rigidbody.ts:555

Implementation of ​

RigidBody.sleepThreshold


sleepTime ​

sleepTime: number = 0.5

Defined in: rigidbody.ts:556

Implementation of ​

RigidBody.sleepTime


timeAtRest ​

timeAtRest: number = 0

Defined in: rigidbody.ts:557

Implementation of ​

RigidBody.timeAtRest

Accessors ​

AABB ​

Get Signature ​

get AABB(): object

Defined in: rigidbody.ts:666

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

Angular velocity (radians/second)

Returns ​

number

Set Signature ​

set angularVelocity(angularVelocity): void

Defined in: rigidbody.ts:650

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

Center position in world coordinates

Returns ​

Point

Set Signature ​

set center(dest): void

Defined in: rigidbody.ts:634

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

Linear velocity (pixels/second)

Returns ​

Point

Set Signature ​

set linearVelocity(dest): void

Defined in: rigidbody.ts:642

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

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

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

Rotation angle in radians

Returns ​

number

Rotation angle in radians

Implementation of ​

RigidBody.orientationAngle


staticFrictionCoeff ​

Get Signature ​

get staticFrictionCoeff(): number

Defined in: rigidbody.ts:674

Static friction coefficient (0-1)

Returns ​

number

Set Signature ​

set staticFrictionCoeff(coeff): void

Defined in: rigidbody.ts:678

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

Parameters ​

force ​

Point

Returns ​

void

Implementation of ​

RigidBody.applyForce


applyForceInOrientation() ​

applyForceInOrientation(force): void

Defined in: rigidbody.ts:618

Parameters ​

force ​

Point

Returns ​

void

Implementation of ​

RigidBody.applyForceInOrientation


draw() ​

draw(ctx): void

Defined in: rigidbody.ts:579

Parameters ​

ctx ​

CanvasRenderingContext2D

Returns ​

void

Implementation of ​

VisualComponent.draw


getAdjacentFaces() ​

getAdjacentFaces(collisionNormal): object[]

Defined in: rigidbody.ts:690

Parameters ​

collisionNormal ​

Point

Returns ​

object[]

Implementation of ​

RigidBody.getAdjacentFaces


getCollisionAxes() ​

getCollisionAxes(relativeBody): Point[]

Defined in: rigidbody.ts:610

Parameters ​

relativeBody ​

RigidBody

Returns ​

Point[]

Implementation of ​

RigidBody.getCollisionAxes


getMinMaxProjection() ​

getMinMaxProjection(unitvector): object

Defined in: rigidbody.ts:606

Parameters ​

unitvector ​

Point

Returns ​

object

max ​

max: number

min ​

min: number

Implementation of ​

RigidBody.getMinMaxProjection


getNormalOfSignificantFace() ​

getNormalOfSignificantFace(collisionNormal): Point

Defined in: rigidbody.ts:686

Parameters ​

collisionNormal ​

Point

Returns ​

Point

Implementation of ​

RigidBody.getNormalOfSignificantFace


getSignificantVertices() ​

getSignificantVertices(collisionNormal): Point[]

Defined in: rigidbody.ts:662

Parameters ​

collisionNormal ​

Point

Returns ​

Point[]

Implementation of ​

RigidBody.getSignificantVertices


isMovingStatic() ​

isMovingStatic(): boolean

Defined in: rigidbody.ts:602

Returns ​

boolean

Implementation of ​

RigidBody.isMovingStatic


isStatic() ​

isStatic(): boolean

Defined in: rigidbody.ts:598

Returns ​

boolean

Implementation of ​

RigidBody.isStatic


move() ​

move(delta): void

Defined in: rigidbody.ts:626

Parameters ​

delta ​

Point

Returns ​

void

Implementation of ​

RigidBody.move


setLinearVelocity() ​

setLinearVelocity(linearVelocity): void

Defined in: rigidbody.ts:622

Parameters ​

linearVelocity ​

Point

Returns ​

void


setSleeping() ​

setSleeping(sleeping): void

Defined in: rigidbody.ts:698

Parameters ​

sleeping ​

boolean

Returns ​

void

Implementation of ​

RigidBody.setSleeping


significantVertex() ​

significantVertex(collisionNormal): Point

Defined in: rigidbody.ts:658

Parameters ​

collisionNormal ​

Point

Returns ​

Point

Implementation of ​

RigidBody.significantVertex


step() ​

step(deltaTime): void

Defined in: rigidbody.ts:593

Parameters ​

deltaTime ​

number

Returns ​

void

Implementation of ​

RigidBody.step


updateSleeping() ​

updateSleeping(deltaTime): void

Defined in: rigidbody.ts:709

Parameters ​

deltaTime ​

number

Returns ​

void

Implementation of ​

RigidBody.updateSleeping