summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2018-03-08 08:50:20 +0100
committerGitHub <noreply@github.com>2018-03-08 08:50:20 +0100
commit8ded15b035e9db959b7669ec72b38d1a94a8df30 (patch)
treed19576f1eabb984b162098b3caad1a9666abb0e8 /servers
parent079b919b412188f6a5a6feb9b7808483baba9ace (diff)
parent9d7856620c5af8e1a5c3f81f921070728b6925d6 (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.cpp9
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;