summaryrefslogtreecommitdiff
path: root/servers/physics_server_2d.h
diff options
context:
space:
mode:
Diffstat (limited to 'servers/physics_server_2d.h')
-rw-r--r--servers/physics_server_2d.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/servers/physics_server_2d.h b/servers/physics_server_2d.h
index 549a78aa1f..e631046524 100644
--- a/servers/physics_server_2d.h
+++ b/servers/physics_server_2d.h
@@ -61,11 +61,11 @@ public:
virtual Transform2D get_transform() const = 0;
virtual void add_central_force(const Vector2 &p_force) = 0;
- virtual void add_force(const Vector2 &p_offset, const Vector2 &p_force) = 0;
+ virtual void add_force(const Vector2 &p_force, const Vector2 &p_position = Vector2()) = 0;
virtual void add_torque(real_t p_torque) = 0;
virtual void apply_central_impulse(const Vector2 &p_impulse) = 0;
virtual void apply_torque_impulse(real_t p_torque) = 0;
- virtual void apply_impulse(const Vector2 &p_offset, const Vector2 &p_impulse) = 0;
+ virtual void apply_impulse(const Vector2 &p_impulse, const Vector2 &p_position = Vector2()) = 0;
virtual void set_sleep_state(bool p_enable) = 0;
virtual bool is_sleeping() const = 0;
@@ -98,6 +98,8 @@ class PhysicsShapeQueryResult2D;
class PhysicsShapeQueryParameters2D : public Reference {
GDCLASS(PhysicsShapeQueryParameters2D, Reference);
friend class PhysicsDirectSpaceState2D;
+
+ RES shape_ref;
RID shape;
Transform2D transform;
Vector2 motion;
@@ -112,7 +114,8 @@ protected:
static void _bind_methods();
public:
- void set_shape(const RES &p_shape);
+ void set_shape(const RES &p_shape_ref);
+ RES get_shape() const;
void set_shape_rid(const RID &p_shape);
RID get_shape_rid() const;
@@ -452,12 +455,12 @@ public:
virtual float body_get_applied_torque(RID p_body) const = 0;
virtual void body_add_central_force(RID p_body, const Vector2 &p_force) = 0;
- virtual void body_add_force(RID p_body, const Vector2 &p_offset, const Vector2 &p_force) = 0;
+ virtual void body_add_force(RID p_body, const Vector2 &p_force, const Vector2 &p_position = Vector2()) = 0;
virtual void body_add_torque(RID p_body, float p_torque) = 0;
virtual void body_apply_central_impulse(RID p_body, const Vector2 &p_impulse) = 0;
virtual void body_apply_torque_impulse(RID p_body, float p_torque) = 0;
- virtual void body_apply_impulse(RID p_body, const Vector2 &p_offset, const Vector2 &p_impulse) = 0;
+ virtual void body_apply_impulse(RID p_body, const Vector2 &p_impulse, const Vector2 &p_position = Vector2()) = 0;
virtual void body_set_axis_velocity(RID p_body, const Vector2 &p_axis_velocity) = 0;
//fix