API Docs for: 0.5.0
Show:

Rectangle Class

Extends Convex

Rectangle shape class.

Constructor

Rectangle

(
  • w
  • h
)

Parameters:

  • w Number

    Width

  • h Number

    Height

Methods

computeAABB

(
  • out
  • position
  • angle
)

Inherited from Shape but overwritten in src/shapes/Rectangle.js:68

Parameters:

  • out AABB

    The resulting AABB.

  • position Array
  • angle Number

computeMomentOfInertia

(
  • mass
)
Number

Inherited from Shape but overwritten in src/shapes/Rectangle.js:41

Compute moment of inertia

Parameters:

  • mass Number

Returns:

Number:

updateArea

()

Inherited from Shape but overwritten in src/shapes/Convex.js:199

Update the .area

updateBoundingRadius

()

Inherited from Shape but overwritten in src/shapes/Rectangle.js:53

Update the bounding radius

updateCenterOfMass

()

Update the .centerOfMass property.

updateTriangles

()

Update the .triangles property

Properties

area

Number

Inherited from Shape: src/shapes/Shape.js:87

Area of this shape.

boundingRadius

Number

Inherited from Shape but overwritten in src/shapes/Convex.js:50

The bounding radius of the convex

centerOfMass

Float32Array

The center of mass of the Convex

collisionGroup

Number

Inherited from Shape: src/shapes/Shape.js:41

Collision group that this shape belongs to (bit mask). See this tutorial.

Example:

// Setup bits for each available group
var PLAYER = Math.pow(2,0),
    ENEMY =  Math.pow(2,1),
    GROUND = Math.pow(2,2)

// Put shapes into their groups
player1Shape.collisionGroup = PLAYER;
player2Shape.collisionGroup = PLAYER;
enemyShape  .collisionGroup = ENEMY;
groundShape .collisionGroup = GROUND;

// Assign groups that each shape collide with.
// Note that the players can collide with ground and enemies, but not with other players.
player1Shape.collisionMask = ENEMY | GROUND;
player2Shape.collisionMask = ENEMY | GROUND;
enemyShape  .collisionMask = PLAYER | GROUND;
groundShape .collisionMask = PLAYER | ENEMY;
// How collision check is done
if(shapeA.collisionGroup & shapeB.collisionMask)!=0 && (shapeB.collisionGroup & shapeA.collisionMask)!=0){
    // The shapes will collide
}

collisionMask

Number

Inherited from Shape: src/shapes/Shape.js:72

Collision mask of this shape. See .collisionGroup.

height

Number

Total height of the rectangle

id

Number

Inherited from Shape: src/shapes/Shape.js:27

Shape object identifier.

material

Material

Inherited from Shape: src/shapes/Shape.js:80

Material to use in collisions for this Shape. If this is set to null, the world will use default material properties instead.

sensor

Boolean

Inherited from Shape: src/shapes/Shape.js:94

Set to true if you want this shape to be a sensor. A sensor does not generate contacts, but it still reports contact events. This is good if you want to know if a shape is overlapping another shape, without them generating contacts.

triangles

Array

Triangulated version of this convex. The structure is Array of 3-Arrays, and each subarray contains 3 integers, referencing the vertices.

vertices

Array

Vertices defined in the local frame.

width

Number

Total width of the rectangle