Skip to content

Class: PrismaticJoint

A prismatic joint. This joint provides one degree of freedom: translation along an axis fixed in bodyA. Relative rotation is prevented. You can use a joint limit to restrict the range of motion and a joint motor to drive the motion or to model joint friction.

Extends

Constructors

Constructor

new PrismaticJoint(def): PrismaticJoint

Parameters

def

PrismaticJointDef

Returns

PrismaticJoint

Overrides

Joint.constructor

Constructor

new PrismaticJoint(def, bodyA, bodyB, anchor?, axis?): PrismaticJoint

Parameters

def

PrismaticJointOpt

bodyA

Body

bodyB

Body

anchor?

Vec2Value

axis?

Vec2Value

Returns

PrismaticJoint

Overrides

Joint.constructor

Properties

style

style: Style = {}

Styling for dev-tools.

Inherited from

Joint.style


TYPE

static TYPE: "prismatic-joint"

Methods

enableLimit()

enableLimit(flag): void

Enable/disable the joint limit.

Parameters

flag

boolean

Returns

void


enableMotor()

enableMotor(flag): void

Enable/disable the joint motor.

Parameters

flag

boolean

Returns

void


getAnchorA()

getAnchorA(): Vec2

Get the anchor point on bodyA in world coordinates.

Returns

Vec2

Overrides

Joint.getAnchorA


getAnchorB()

getAnchorB(): Vec2

Get the anchor point on bodyB in world coordinates.

Returns

Vec2

Overrides

Joint.getAnchorB


getBodyA()

getBodyA(): Body

Get the first body attached to this joint.

Returns

Body

Inherited from

Joint.getBodyA


getBodyB()

getBodyB(): Body

Get the second body attached to this joint.

Returns

Body

Inherited from

Joint.getBodyB


getCollideConnected()

getCollideConnected(): boolean

Get collide connected. Note: modifying the collide connect flag won't work correctly because the flag is only checked when fixture AABBs begin to overlap.

Returns

boolean

Inherited from

Joint.getCollideConnected


getJointSpeed()

getJointSpeed(): number

Get the current joint translation speed, usually in meters per second.

Returns

number


getJointTranslation()

getJointTranslation(): number

Get the current joint translation, usually in meters.

Returns

number


getLocalAnchorA()

getLocalAnchorA(): Vec2

The local anchor point relative to bodyA's origin.

Returns

Vec2


getLocalAnchorB()

getLocalAnchorB(): Vec2

The local anchor point relative to bodyB's origin.

Returns

Vec2


getLocalAxisA()

getLocalAxisA(): Vec2

The local joint axis relative to bodyA.

Returns

Vec2


getLowerLimit()

getLowerLimit(): number

Get the lower joint limit, usually in meters.

Returns

number


getMaxMotorForce()

getMaxMotorForce(): number

Returns

number


getMotorForce()

getMotorForce(inv_dt): number

Get the current motor force given the inverse time step, usually in N.

Parameters

inv_dt

number

Returns

number


getMotorSpeed()

getMotorSpeed(): number

Get the motor speed, usually in meters per second.

Returns

number


getNext()

getNext(): Joint

Get the next joint the world joint list.

Returns

Joint

Inherited from

Joint.getNext


getReactionForce()

getReactionForce(inv_dt): Vec2

Get the reaction force on bodyB at the joint anchor in Newtons.

Parameters

inv_dt

number

Returns

Vec2

Overrides

Joint.getReactionForce


getReactionTorque()

getReactionTorque(inv_dt): number

Get the reaction torque on bodyB in N*m.

Parameters

inv_dt

number

Returns

number

Overrides

Joint.getReactionTorque


getReferenceAngle()

getReferenceAngle(): number

Get the reference angle.

Returns

number


getType()

getType(): string

Get the type of the concrete joint.

Returns

string

Inherited from

Joint.getType


getUpperLimit()

getUpperLimit(): number

Get the upper joint limit, usually in meters.

Returns

number


getUserData()

getUserData(): unknown

Returns

unknown

Inherited from

Joint.getUserData


initVelocityConstraints()

initVelocityConstraints(step): void

Parameters

step

TimeStep

Returns

void

Overrides

Joint.initVelocityConstraints


isActive()

isActive(): boolean

Short-cut function to determine if either body is inactive.

Returns

boolean

Inherited from

Joint.isActive


isLimitEnabled()

isLimitEnabled(): boolean

Is the joint limit enabled?

Returns

boolean


isMotorEnabled()

isMotorEnabled(): boolean

Is the joint motor enabled?

Returns

boolean


setLimits()

setLimits(lower, upper): void

Set the joint limits, usually in meters.

Parameters

lower

number

upper

number

Returns

void


setMaxMotorForce()

setMaxMotorForce(force): void

Set the maximum motor force, usually in N.

Parameters

force

number

Returns

void


setMotorSpeed()

setMotorSpeed(speed): void

Set the motor speed, usually in meters per second.

Parameters

speed

number

Returns

void


setUserData()

setUserData(data): void

Parameters

data

unknown

Returns

void

Inherited from

Joint.setUserData


shiftOrigin()

shiftOrigin(newOrigin): void

Shift the origin for any points stored in world coordinates.

Parameters

newOrigin

Vec2Value

Returns

void

Inherited from

Joint.shiftOrigin


solvePositionConstraints()

solvePositionConstraints(step): boolean

This returns true if the position errors are within tolerance.

Parameters

step

TimeStep

Returns

boolean

Overrides

Joint.solvePositionConstraints


solveVelocityConstraints()

solveVelocityConstraints(step): void

Parameters

step

TimeStep

Returns

void

Overrides

Joint.solveVelocityConstraints