Skip to content

Abstract Class: Shape

A shape is used for collision detection. You can create a shape however you like. Shapes used for simulation in World are created automatically when a Fixture is created. Shapes may encapsulate one or more child shapes.

Extended by

Constructors

Constructor

new Shape(): Shape

Returns

Shape

Properties

style

style: Style = {}

Styling for dev-tools.

Methods

computeAABB()

abstract computeAABB(aabb, xf, childIndex): void

Given a transform, compute the associated axis aligned bounding box for a child shape.

Parameters

aabb

AABBValue

Returns the axis aligned box.

xf

TransformValue

The world transform of the shape.

childIndex

number

The child shape

Returns

void


computeDistanceProxy()

abstract computeDistanceProxy(proxy, childIndex): void

Parameters

proxy

DistanceProxy

childIndex

number

Returns

void


computeMass()

abstract computeMass(massData, density?): void

Compute the mass properties of this shape using its dimensions and density. The inertia tensor is computed about the local origin.

Parameters

massData

MassData

Returns the mass data for this shape.

density?

number

The density in kilograms per meter squared.

Returns

void


getChildCount()

abstract getChildCount(): number

Get the number of child primitives.

Returns

number


getRadius()

abstract getRadius(): number

Returns

number


getType()

abstract getType(): ShapeType

Get the type of this shape. You can use this to down cast to the concrete shape.

Returns

ShapeType

the shape type.


rayCast()

abstract rayCast(output, input, xf, childIndex): boolean

Cast a ray against a child shape.

Parameters

output

RayCastOutput

The ray-cast results.

input

RayCastInput

The ray-cast input parameters.

xf

Transform

The transform to be applied to the shape.

childIndex

number

The child shape index

Returns

boolean


testPoint()

abstract testPoint(xf, p): boolean

Test a point for containment in this shape. This only works for convex shapes.

Parameters

xf

TransformValue

The shape world transform.

p

Vec2Value

A point in world coordinates.

Returns

boolean


isValid()

static isValid(obj): boolean

Parameters

obj

any

Returns

boolean