diff options
Diffstat (limited to 'modules/bullet/space_bullet.h')
-rw-r--r-- | modules/bullet/space_bullet.h | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/modules/bullet/space_bullet.h b/modules/bullet/space_bullet.h index 897f902fe1..0f2482e551 100644 --- a/modules/bullet/space_bullet.h +++ b/modules/bullet/space_bullet.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,8 +31,8 @@ #ifndef SPACE_BULLET_H #define SPACE_BULLET_H -#include "core/local_vector.h" -#include "core/variant.h" +#include "core/templates/vector.h" +#include "core/variant/variant.h" #include "godot_result_callbacks.h" #include "rid_bullet.h" #include "servers/physics_server_3d.h" @@ -110,23 +110,16 @@ class SpaceBullet : public RIDBullet { real_t linear_damp = 0.0; real_t angular_damp = 0.0; - LocalVector<CollisionObjectBullet *> queue_pre_flush; - LocalVector<CollisionObjectBullet *> queue_flush; - LocalVector<CollisionObjectBullet *> collision_objects; - LocalVector<AreaBullet *> areas; + Vector<AreaBullet *> areas; - LocalVector<Vector3> contactDebug; - uint32_t contactDebugCount = 0; + Vector<Vector3> contactDebug; + int contactDebugCount = 0; real_t delta_time = 0.; public: SpaceBullet(); virtual ~SpaceBullet(); - void add_to_flush_queue(CollisionObjectBullet *p_co); - void add_to_pre_flush_queue(CollisionObjectBullet *p_co); - void remove_from_any_queue(CollisionObjectBullet *p_co); - void flush_queries(); real_t get_delta_time() { return delta_time; } void step(real_t p_delta_time); @@ -157,10 +150,8 @@ public: void remove_area(AreaBullet *p_area); void reload_collision_filters(AreaBullet *p_area); - void register_collision_object(CollisionObjectBullet *p_object); - void unregister_collision_object(CollisionObjectBullet *p_object); - void add_rigid_body(RigidBodyBullet *p_body); + void remove_rigid_body_constraints(RigidBodyBullet *p_body); void remove_rigid_body(RigidBodyBullet *p_body); void reload_collision_filters(RigidBodyBullet *p_body); @@ -177,13 +168,13 @@ public: BulletPhysicsDirectSpaceState *get_direct_state(); void set_debug_contacts(int p_amount) { contactDebug.resize(p_amount); } - _FORCE_INLINE_ bool is_debugging_contacts() const { return !contactDebug.empty(); } + _FORCE_INLINE_ bool is_debugging_contacts() const { return !contactDebug.is_empty(); } _FORCE_INLINE_ void reset_debug_contact_count() { contactDebugCount = 0; } _FORCE_INLINE_ void add_debug_contact(const Vector3 &p_contact) { if (contactDebugCount < contactDebug.size()) { - contactDebug[contactDebugCount++] = p_contact; + contactDebug.write[contactDebugCount++] = p_contact; } } _FORCE_INLINE_ Vector<Vector3> get_debug_contacts() { return contactDebug; } |