summaryrefslogtreecommitdiff
path: root/modules/bullet/space_bullet.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/bullet/space_bullet.h')
-rw-r--r--modules/bullet/space_bullet.h29
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; }