diff options
Diffstat (limited to 'servers/physics_server_3d.cpp')
| -rw-r--r-- | servers/physics_server_3d.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/servers/physics_server_3d.cpp b/servers/physics_server_3d.cpp index 8497bc78e2..d523f4b1ec 100644 --- a/servers/physics_server_3d.cpp +++ b/servers/physics_server_3d.cpp @@ -34,20 +34,24 @@ #include "core/string/print_string.h" #include "core/variant/typed_array.h" -void PhysicsServer3DRenderingServerHandler::set_vertex(int p_vertex_id, const void *p_vector3) { - GDVIRTUAL_REQUIRED_CALL(_set_vertex, p_vertex_id, p_vector3); +void PhysicsServer3DRenderingServerHandler::set_vertex(int p_vertex_id, const Vector3 &p_vertex) { + GDVIRTUAL_REQUIRED_CALL(_set_vertex, p_vertex_id, p_vertex); } -void PhysicsServer3DRenderingServerHandler::set_normal(int p_vertex_id, const void *p_vector3) { - GDVIRTUAL_REQUIRED_CALL(_set_normal, p_vertex_id, p_vector3); +void PhysicsServer3DRenderingServerHandler::set_normal(int p_vertex_id, const Vector3 &p_normal) { + GDVIRTUAL_REQUIRED_CALL(_set_normal, p_vertex_id, p_normal); } void PhysicsServer3DRenderingServerHandler::set_aabb(const AABB &p_aabb) { GDVIRTUAL_REQUIRED_CALL(_set_aabb, p_aabb); } void PhysicsServer3DRenderingServerHandler::_bind_methods() { - GDVIRTUAL_BIND(_set_vertex, "vertex_id", "vertices"); - GDVIRTUAL_BIND(_set_normal, "vertex_id", "normals"); + GDVIRTUAL_BIND(_set_vertex, "vertex_id", "vertex"); + GDVIRTUAL_BIND(_set_normal, "vertex_id", "normal"); GDVIRTUAL_BIND(_set_aabb, "aabb"); + + ClassDB::bind_method(D_METHOD("set_vertex", "vertex_id", "vertex"), &PhysicsServer3DRenderingServerHandler::set_vertex); + ClassDB::bind_method(D_METHOD("set_normal", "vertex_id", "normal"), &PhysicsServer3DRenderingServerHandler::set_normal); + ClassDB::bind_method(D_METHOD("set_aabb", "aabb"), &PhysicsServer3DRenderingServerHandler::set_aabb); } PhysicsServer3D *PhysicsServer3D::singleton = nullptr; @@ -497,6 +501,7 @@ TypedArray<RID> PhysicsTestMotionParameters3D::get_exclude_bodies() const { } void PhysicsTestMotionParameters3D::set_exclude_bodies(const TypedArray<RID> &p_exclude) { + parameters.exclude_bodies.clear(); for (int i = 0; i < p_exclude.size(); i++) { parameters.exclude_bodies.insert(p_exclude[i]); } @@ -515,6 +520,7 @@ TypedArray<uint64_t> PhysicsTestMotionParameters3D::get_exclude_objects() const } void PhysicsTestMotionParameters3D::set_exclude_objects(const TypedArray<uint64_t> &p_exclude) { + parameters.exclude_objects.clear(); for (int i = 0; i < p_exclude.size(); ++i) { ObjectID object_id = p_exclude[i]; ERR_CONTINUE(object_id.is_null()); |
