summaryrefslogtreecommitdiff
path: root/scene/3d/physics_body.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/3d/physics_body.h')
-rw-r--r--scene/3d/physics_body.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/scene/3d/physics_body.h b/scene/3d/physics_body.h
index 442921302e..beec01ff3a 100644
--- a/scene/3d/physics_body.h
+++ b/scene/3d/physics_body.h
@@ -56,6 +56,8 @@ public:
void add_collision_exception_with(Node* p_node); //must be physicsbody
void remove_collision_exception_with(Node* p_node);
+
+
PhysicsBody();
};
@@ -162,8 +164,8 @@ private:
};
struct BodyState {
- int rc;
- bool in_scene;
+ //int rc;
+ bool in_tree;
VSet<ShapePair> shapes;
};
@@ -176,8 +178,8 @@ private:
ContactMonitor *contact_monitor;
- void _body_enter_scene(ObjectID p_id);
- void _body_exit_scene(ObjectID p_id);
+ void _body_enter_tree(ObjectID p_id);
+ void _body_exit_tree(ObjectID p_id);
void _body_inout(int p_status, ObjectID p_instance, int p_body_shape,int p_local_shape);
@@ -236,6 +238,7 @@ public:
void set_axis_lock(AxisLock p_lock);
AxisLock get_axis_lock() const;
+ Array get_colliding_bodies() const;
void apply_impulse(const Vector3& p_pos, const Vector3& p_impulse);
@@ -266,6 +269,8 @@ class KinematicBody : public PhysicsBody {
Vector3 normal;
Vector3 collider_vel;
ObjectID collider;
+ int collider_shape;
+
Variant _get_collider() const;
@@ -291,6 +296,7 @@ public:
Vector3 get_collision_normal() const;
Vector3 get_collider_velocity() const;
ObjectID get_collider() const;
+ int get_collider_shape() const;
void set_collide_with_static_bodies(bool p_enable);
bool can_collide_with_static_bodies() const;