summaryrefslogtreecommitdiffstats
path: root/servers/physics_2d/godot_body_2d.h
diff options
context:
space:
mode:
authorPouleyKetchoupp <pouleyketchoup@gmail.com>2021-10-22 11:56:00 -0700
committerPouleyKetchoupp <pouleyketchoup@gmail.com>2021-11-08 16:17:57 -0700
commitfc8c766ef93454e43a5a31fd7fb0a0b07946e32b (patch)
treedaf19d332259ad3c627b6948395920b4a616a327 /servers/physics_2d/godot_body_2d.h
parent25bea735449d4e762e3c5f6b960d5f5b9cf79ac1 (diff)
downloadredot-engine-fc8c766ef93454e43a5a31fd7fb0a0b07946e32b.tar.gz
Expose local center of mass in physics servers
Center of mass in body's local space is more useful than the transformed one in some cases, like drawing its position for debug. It's especially useful to get the generated local center of mass when in auto mode (by default). Physics Server BODY_PARAM_CENTER_OF_MASS: Now always returns the local center of mass, instead of setting a local center of mass and getting a transformed one. This causes compatibility breaking, but it makes more sense for the parameter to be consistent between getter and setter. Direct Body State: There are now two properties, because both of them can be useful in different situations. center_of_mass: relative position in global coordinates (same as before) center_of_mass_local: position in local coordinates
Diffstat (limited to 'servers/physics_2d/godot_body_2d.h')
-rw-r--r--servers/physics_2d/godot_body_2d.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/servers/physics_2d/godot_body_2d.h b/servers/physics_2d/godot_body_2d.h
index 817d5f1b0d..7b11b50739 100644
--- a/servers/physics_2d/godot_body_2d.h
+++ b/servers/physics_2d/godot_body_2d.h
@@ -282,6 +282,7 @@ public:
void reset_mass_properties();
_FORCE_INLINE_ const Vector2 &get_center_of_mass() const { return center_of_mass; }
+ _FORCE_INLINE_ const Vector2 &get_center_of_mass_local() const { return center_of_mass_local; }
_FORCE_INLINE_ real_t get_inv_mass() const { return _inv_mass; }
_FORCE_INLINE_ real_t get_inv_inertia() const { return _inv_inertia; }
_FORCE_INLINE_ real_t get_friction() const { return friction; }