From 3c32969da229cb5d648fdb6f8c0c366305cd33e2 Mon Sep 17 00:00:00 2001 From: liabru Date: Sat, 14 Sep 2019 19:03:17 +0100 Subject: [PATCH] added Constraint.pointAWorld and Constraint.pointBWorld --- src/constraint/Constraint.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/constraint/Constraint.js b/src/constraint/Constraint.js index 9e49f16..bb40fa5 100644 --- a/src/constraint/Constraint.js +++ b/src/constraint/Constraint.js @@ -300,6 +300,32 @@ var Common = require('../core/Common'); } }; + /** + * Returns the world-space position of `constraint.pointA`, accounting for `constraint.bodyA`. + * @method pointAWorld + * @param {constraint} constraint + * @returns {vector} the world-space position + */ + Constraint.pointAWorld = function(constraint) { + return { + x: (constraint.bodyA ? constraint.bodyA.position.x : 0) + constraint.pointA.x, + y: (constraint.bodyA ? constraint.bodyA.position.y : 0) + constraint.pointA.y + }; + }; + + /** + * Returns the world-space position of `constraint.pointB`, accounting for `constraint.bodyB`. + * @method pointBWorld + * @param {constraint} constraint + * @returns {vector} the world-space position + */ + Constraint.pointBWorld = function(constraint) { + return { + x: (constraint.bodyB ? constraint.bodyB.position.x : 0) + constraint.pointB.x, + y: (constraint.bodyB ? constraint.bodyB.position.y : 0) + constraint.pointB.y + }; + }; + /* * * Properties Documentation