aboutsummaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorBernhard Liebl2018-02-08 08:48:14 +0100
committerpoke10242018-03-07 21:10:31 +0100
commit9d7856620c5af8e1a5c3f81f921070728b6925d6 (patch)
tree9437c5911eb8cf8f50a3d8c3a1931945ab0d5418 /servers
parent900384a622c7f3094540a43670421469e4ee0b06 (diff)
downloadgodot-9d7856620c5af8e1a5c3f81f921070728b6925d6.tar.gz
godot-9d7856620c5af8e1a5c3f81f921070728b6925d6.tar.zst
godot-9d7856620c5af8e1a5c3f81f921070728b6925d6.zip
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 7fba8aceb..d49c1b837 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;