summaryrefslogtreecommitdiffstats
path: root/scene/3d/physics_body_3d.h
diff options
context:
space:
mode:
authorMrSwedish <mrswedishfunny@gmail.com>2022-03-03 18:30:19 +0100
committerMrSwedish <mrswedishfunny@gmail.com>2022-03-03 20:34:29 +0100
commit97c5fd17a771ec216cbc510e97db7a8f3113692a (patch)
tree2707850327e0cf14e99254188918546b9b633063 /scene/3d/physics_body_3d.h
parent3f69ea4f3bcb4f234f6e62909a79bdee221608a9 (diff)
downloadredot-engine-97c5fd17a771ec216cbc510e97db7a8f3113692a.tar.gz
Add linear_velocity and angular_velocity to PhysicalBone3D
Diffstat (limited to 'scene/3d/physics_body_3d.h')
-rw-r--r--scene/3d/physics_body_3d.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/scene/3d/physics_body_3d.h b/scene/3d/physics_body_3d.h
index 0f753fef76..6ace681021 100644
--- a/scene/3d/physics_body_3d.h
+++ b/scene/3d/physics_body_3d.h
@@ -662,9 +662,13 @@ private:
real_t bounce = 0.0;
real_t mass = 1.0;
real_t friction = 1.0;
+ Vector3 linear_velocity;
+ Vector3 angular_velocity;
real_t gravity_scale = 1.0;
bool can_sleep = true;
+ bool custom_integrator = false;
+
DampMode linear_damp_mode = DAMP_MODE_COMBINE;
DampMode angular_damp_mode = DAMP_MODE_COMBINE;
@@ -676,6 +680,7 @@ protected:
bool _get(const StringName &p_name, Variant &r_ret) const;
void _get_property_list(List<PropertyInfo> *p_list) const;
void _notification(int p_what);
+ GDVIRTUAL1(_integrate_forces, PhysicsDirectBodyState3D *)
static void _body_state_changed_callback(void *p_instance, PhysicsDirectBodyState3D *p_state);
void _body_state_changed(PhysicsDirectBodyState3D *p_state);
@@ -691,6 +696,15 @@ private:
public:
void _on_bone_parent_changed();
+ void set_linear_velocity(const Vector3 &p_velocity);
+ Vector3 get_linear_velocity() const override;
+
+ void set_angular_velocity(const Vector3 &p_velocity);
+ Vector3 get_angular_velocity() const override;
+
+ void set_use_custom_integrator(bool p_enable);
+ bool is_using_custom_integrator();
+
#ifdef TOOLS_ENABLED
void _set_gizmo_move_joint(bool p_move_joint);
virtual Transform3D get_global_gizmo_transform() const override;