Convex Class
Convex shape class.
Constructor
Convex

[options]
Parameters:

[options]
Object optional(Note that this options object will be passed on to the Shape constructor.)

[vertices]
Array optionalAn array of vertices that span this shape. Vertices are given in counterclockwise (CCW) direction.

[axes]
Array optionalAn array of unit length vectors, representing the symmetry axes in the convex.

Example:
// Create a box
var vertices = [[1,1], [1,1], [1,1], [1,1]];
var convexShape = new Convex({ vertices: vertices });
body.addShape(convexShape);
Item Index
Methods
Methods
computeMomentOfInertia

mass
Compute the mass moment of inertia of the Convex.
Parameters:

mass
Number
Returns:
projectOntoAxis

offset

localAxis

result
Project a Convex onto a worldoriented axis
Parameters:

offset
Array 
localAxis
Array 
result
Array
raycast

result

ray

position

angle
Parameters:

result
RaycastResult 
ray
Ray 
position
Array 
angle
Number
triangleArea

a

b

c
Get the area of the triangle spanned by the three points a, b, c. The area is positive if the points are given in counterclockwise order, otherwise negative.
Parameters:

a
Array 
b
Array 
c
Array
Returns:
updateArea
()
Update the .area
updateBoundingRadius
()
Updates the .boundingRadius property
updateCenterOfMass
()
Update the .centerOfMass property.
updateTriangles
()
Update the .triangles property
Properties
angle
Number
Bodylocal angle of the shape.
area
Number
Area of this shape.
axes
Array
Axes defined in the local frame.
boundingRadius
Number
The bounding radius of the convex
centerOfMass
Array
The center of mass of the Convex
collisionGroup
Number
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
Collision mask of this shape. See .collisionGroup.
collisionResponse
Boolean
Whether to produce contact forces when in contact with other bodies. Note that contacts will be generated, but they will be disabled. That means that this shape will move through other body shapes, but it will still trigger contact events, etc.
id
Number
Shape object identifier.
material
Material
Material to use in collisions for this Shape. If this is set to null, the world will use default material properties instead.
position
Array
Bodylocal position of the shape.
sensor
Boolean
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 3Arrays, and each subarray contains 3 integers, referencing the vertices.
type
Number
The type of the shape. One of:
vertices
Array
Vertices defined in the local frame.