diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-03-08 08:50:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-08 08:50:20 +0100 |
commit | 8ded15b035e9db959b7669ec72b38d1a94a8df30 (patch) | |
tree | d19576f1eabb984b162098b3caad1a9666abb0e8 /servers | |
parent | 079b919b412188f6a5a6feb9b7808483baba9ace (diff) | |
parent | 9d7856620c5af8e1a5c3f81f921070728b6925d6 (diff) |
Merge pull request #16485 from poke1024/vector2-cross
Bring back Vector2.cross()
Diffstat (limited to 'servers')
-rw-r--r-- | servers/physics_2d/joints_2d_sw.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/servers/physics_2d/joints_2d_sw.cpp b/servers/physics_2d/joints_2d_sw.cpp index 7fba8acebd..d49c1b8376 100644 --- a/servers/physics_2d/joints_2d_sw.cpp +++ b/servers/physics_2d/joints_2d_sw.cpp @@ -146,14 +146,19 @@ bool PinJoint2DSW::setup(real_t p_step) { return true; } +inline Vector2 custom_cross(const Vector2 &p_vec, real_t p_other) { + + return Vector2(p_other * p_vec.y, -p_other * p_vec.x); +} + void PinJoint2DSW::solve(real_t p_step) { // compute relative velocity - Vector2 vA = A->get_linear_velocity() - rA.cross(A->get_angular_velocity()); + Vector2 vA = A->get_linear_velocity() - custom_cross(rA, A->get_angular_velocity()); Vector2 rel_vel; if (B) - rel_vel = B->get_linear_velocity() - rB.cross(B->get_angular_velocity()) - vA; + rel_vel = B->get_linear_velocity() - custom_cross(rB, B->get_angular_velocity()) - vA; else rel_vel = -vA; |