UNPKG

planck-js

Version:

2D physics engine for JavaScript/HTML5 game development

38 lines (34 loc) 1.32 kB
/* * Copyright (c) 2016 Ali Shakiba http://shakiba.me/planck.js * Copyright (c) 2006-2011 Erin Catto http://www.box2d.org * * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be * appreciated but is not required. * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * 3. This notice may not be removed or altered from any source distribution. */ module.exports = Position; var Vec2 = require('./Vec2'); var Rot = require('./Rot'); /** * @prop {Vec2} c location * @prop {float} a angle */ function Position() { this.c = new Vec2(); this.a = 0; } Position.prototype.GetTransform = function(xf, p) { xf.q.Set(this.a); xf.p.Set(Vec2.Sub(this.c, Rot.Mul(xf.q, p))); return xf; }