p2s
Version:
A JavaScript 2D physics engine.
59 lines (55 loc) • 1.46 kB
JavaScript
var vec2 = require("../../src/math/vec2");
var Circle = require('../../src/shapes/Circle');
var Plane = require('../../src/shapes/Plane');
var Ray = require('../../src/collision/Ray');
var Body = require('../../src/objects/Body');
var RaycastResult = require('../../src/collision/RaycastResult');
var AABB = require('../../src/collision/AABB');
var Heightfield = require('../../src/shapes/Heightfield');
module.exports = {
construct: function(test){
var ray = new Ray({
from: [4,3],
to: [1,2],
skipBackfaces: true,
collisionMask: 4,
collisionGroup: 4|2,
mode: Ray.ALL
});
test.equal(ray.from[0], 4);
test.equal(ray.from[1], 3);
test.equal(ray.to[0], 1);
test.equal(ray.to[1], 2);
test.equal(ray.skipBackfaces, true);
test.equal(ray.collisionMask, 4);
test.equal(ray.collisionGroup, 4|2);
test.equal(ray.mode, Ray.ALL);
test.done();
},
update: function(test){
var ray = new Ray({
from: [0,0],
to: [1,0]
});
test.equal(ray.direction[0], 1);
test.equal(ray.direction[1], 0);
test.equal(ray.length, 1);
ray.to[0] = 0;
ray.to[1] = 2;
ray.update();
test.equal(ray.direction[0], 0);
test.equal(ray.direction[1], 1);
test.equal(ray.length, 2);
test.done();
},
getAABB: function(test){
var ray = new Ray({
from: [0,0],
to: [1,1]
});
var aabb = new AABB();
ray.getAABB(aabb);
test.deepEqual(aabb, new AABB({ lowerBound: [0,0], upperBound: [1,1] }));
test.done();
}
};