A CollisionObject object represents an static or kinematic body against which rigid bodies can collide.
A CollisionObject object can be constructed with PhysicsDevice.createCollisionObject.
Summary
Calculates the world matrix of the collision object.
Syntax
var transform = mathDevice.m43BuildIdentity();
var n, collisionObject, node;
for (n = 0; n < numNodes; n += 1)
{
collisionObject = collisionObjects[n];
node = nodes[n];
collisionObject.calculateTransform(transform, node.origin);
drawNode(node, transform);
}
The transform parameter should be a Matrix43 object and it will be set to the world matrix of the collision object.
The optional origin parameter can be used to offset the world matrix.
Summary
Calculates the world extents of the collision object.
Syntax
var extents = [];
collisionObject.calculateExtents(extents);
Summary
Clones the collision object.
Syntax
var clonedCollisionObject = collisionObject.clone();
Returns a new collision object identical to the original and located at the same position.
Summary
The Matrix43 representing the rotation and location of the collision object.
Changing the transform could be an expensive operation because the internal acceleration structures may need updating. Also, it should only be done for kinematic objects once the object is in the physics world.
Syntax
// Get the current location
var matrix = collisionObject.transform;
// Move it to the origin
collisionObject.transform = mathDevice.m43BuildIdentity();
Note
This property is implemented using getters and setters. Setting the property copies the vector values to the CollisionObject’s internal storage, and querieng the property generates a new vector and copies the values from the CollisionObject’s internal storage.
// THIS WILL NOT WORK!!!
collisionObject.transform[10] = 4;
// THIS WILL NOT WORK!!!
VMath.m43Copy(newTransform, collisionObject.transform);
Summary
The Shape object assigned to the collision object.
Syntax
var shape = collisionObject.shape;
Note
Read Only
Summary
The collision group number assigned to the collision object.
Syntax
var collisionGroup = collisionObject.group;
Note
Read Only
Summary
The collision mask number assigned to the collision object.
Syntax
var collisionMask = collisionObject.mask;
Note
Read Only
Summary
The user object associated with the collision object.
Syntax
// Get current user object
var sceneOwner = collisionObject.userData;
// Set a new one
collisionObject.userData = doorEntity;
Summary
The friction value of the collision object.
Syntax
// Get current friction
var friction = collisionObject.friction;
// Double it
collisionObject.friction = (2.0 * friction);
Summary
The restitution value of the collision object.
Syntax
// Get current restitution
var restitution = collisionObject.restitution;
// Half it
collisionObject.restitution = (0.5 * restitution);
Summary
True if the collision object was created as kinematic, false otherwise.
Syntax
var isKinematic = collisionObject.kinematic;
Note
Read Only