aboutsummaryrefslogtreecommitdiff
path: root/servers/physics_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'servers/physics_server.h')
-rw-r--r--servers/physics_server.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/servers/physics_server.h b/servers/physics_server.h
index 26b28a207..3070f919b 100644
--- a/servers/physics_server.h
+++ b/servers/physics_server.h
@@ -45,6 +45,8 @@ public:
virtual float get_total_angular_damp() const=0;
virtual float get_total_linear_damp() const=0;
+ virtual Vector3 get_center_of_mass() const=0;
+ virtual Matrix3 get_principal_inertia_axes() const=0;
virtual float get_inverse_mass() const=0; // get the mass
virtual Vector3 get_inverse_inertia() const=0; // get density of this body space
virtual Matrix3 get_inverse_inertia_tensor() const=0; // get density of this body space
@@ -60,6 +62,7 @@ public:
virtual void add_force(const Vector3& p_force, const Vector3& p_pos)=0;
virtual void apply_impulse(const Vector3& p_pos, const Vector3& p_j)=0;
+ virtual void apply_torque_impulse(const Vector3& p_j)=0;
virtual void set_sleep_state(bool p_enable)=0;
virtual bool is_sleeping() const=0;
@@ -441,6 +444,7 @@ public:
virtual Vector3 body_get_applied_torque(RID p_body) const=0;
virtual void body_apply_impulse(RID p_body, const Vector3& p_pos, const Vector3& p_impulse)=0;
+ virtual void body_apply_torque_impulse(RID p_body, const Vector3& p_impulse)=0;
virtual void body_set_axis_velocity(RID p_body, const Vector3& p_axis_velocity)=0;
enum BodyAxisLock {