|
@@ -125,6 +125,8 @@ bool PhysicsServer3DExtension::body_test_motion_is_excluding_object(ObjectID p_o
|
|
}
|
|
}
|
|
|
|
|
|
void PhysicsServer3DExtension::_bind_methods() {
|
|
void PhysicsServer3DExtension::_bind_methods() {
|
|
|
|
+ /* SHAPE API */
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_world_boundary_shape_create);
|
|
GDVIRTUAL_BIND(_world_boundary_shape_create);
|
|
GDVIRTUAL_BIND(_separation_ray_shape_create);
|
|
GDVIRTUAL_BIND(_separation_ray_shape_create);
|
|
GDVIRTUAL_BIND(_sphere_shape_create);
|
|
GDVIRTUAL_BIND(_sphere_shape_create);
|
|
@@ -137,18 +139,34 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
GDVIRTUAL_BIND(_custom_shape_create);
|
|
GDVIRTUAL_BIND(_custom_shape_create);
|
|
|
|
|
|
GDVIRTUAL_BIND(_shape_set_data, "shape", "data");
|
|
GDVIRTUAL_BIND(_shape_set_data, "shape", "data");
|
|
|
|
+ GDVIRTUAL_BIND(_shape_set_custom_solver_bias, "shape", "bias");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_shape_set_margin, "shape", "margin");
|
|
|
|
+ GDVIRTUAL_BIND(_shape_get_margin, "shape");
|
|
|
|
|
|
GDVIRTUAL_BIND(_shape_get_type, "shape");
|
|
GDVIRTUAL_BIND(_shape_get_type, "shape");
|
|
GDVIRTUAL_BIND(_shape_get_data, "shape");
|
|
GDVIRTUAL_BIND(_shape_get_data, "shape");
|
|
|
|
+ GDVIRTUAL_BIND(_shape_get_custom_solver_bias, "shape");
|
|
|
|
+
|
|
|
|
+ /* SPACE API */
|
|
|
|
|
|
GDVIRTUAL_BIND(_space_create);
|
|
GDVIRTUAL_BIND(_space_create);
|
|
GDVIRTUAL_BIND(_space_set_active, "space", "active");
|
|
GDVIRTUAL_BIND(_space_set_active, "space", "active");
|
|
GDVIRTUAL_BIND(_space_is_active, "space");
|
|
GDVIRTUAL_BIND(_space_is_active, "space");
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_space_set_param, "space", "param", "value");
|
|
GDVIRTUAL_BIND(_space_set_param, "space", "param", "value");
|
|
GDVIRTUAL_BIND(_space_get_param, "space", "param");
|
|
GDVIRTUAL_BIND(_space_get_param, "space", "param");
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_space_get_direct_state, "space");
|
|
GDVIRTUAL_BIND(_space_get_direct_state, "space");
|
|
|
|
|
|
|
|
+ GDVIRTUAL_BIND(_space_set_debug_contacts, "space", "max_contacts");
|
|
|
|
+ GDVIRTUAL_BIND(_space_get_contacts, "space");
|
|
|
|
+ GDVIRTUAL_BIND(_space_get_contact_count, "space");
|
|
|
|
+
|
|
|
|
+ /* AREA API */
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_area_create);
|
|
GDVIRTUAL_BIND(_area_create);
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_area_set_space, "area", "space");
|
|
GDVIRTUAL_BIND(_area_set_space, "area", "space");
|
|
GDVIRTUAL_BIND(_area_get_space, "area");
|
|
GDVIRTUAL_BIND(_area_get_space, "area");
|
|
|
|
|
|
@@ -164,8 +182,8 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
GDVIRTUAL_BIND(_area_remove_shape, "area", "shape_idx");
|
|
GDVIRTUAL_BIND(_area_remove_shape, "area", "shape_idx");
|
|
GDVIRTUAL_BIND(_area_clear_shapes, "area");
|
|
GDVIRTUAL_BIND(_area_clear_shapes, "area");
|
|
|
|
|
|
- GDVIRTUAL_BIND(_area_set_collision_layer, "area", "layer");
|
|
|
|
- GDVIRTUAL_BIND(_area_set_collision_mask, "area", "mask");
|
|
|
|
|
|
+ GDVIRTUAL_BIND(_area_attach_object_instance_id, "area", "id");
|
|
|
|
+ GDVIRTUAL_BIND(_area_get_object_instance_id, "area");
|
|
|
|
|
|
GDVIRTUAL_BIND(_area_set_param, "area", "param", "value");
|
|
GDVIRTUAL_BIND(_area_set_param, "area", "param", "value");
|
|
GDVIRTUAL_BIND(_area_set_transform, "area", "transform");
|
|
GDVIRTUAL_BIND(_area_set_transform, "area", "transform");
|
|
@@ -173,14 +191,16 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
GDVIRTUAL_BIND(_area_get_param, "area", "param");
|
|
GDVIRTUAL_BIND(_area_get_param, "area", "param");
|
|
GDVIRTUAL_BIND(_area_get_transform, "area");
|
|
GDVIRTUAL_BIND(_area_get_transform, "area");
|
|
|
|
|
|
- GDVIRTUAL_BIND(_area_attach_object_instance_id, "area", "id");
|
|
|
|
- GDVIRTUAL_BIND(_area_get_object_instance_id, "area");
|
|
|
|
|
|
+ GDVIRTUAL_BIND(_area_set_collision_layer, "area", "layer");
|
|
|
|
+ GDVIRTUAL_BIND(_area_set_collision_mask, "area", "mask");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_area_set_monitorable, "area", "monitorable");
|
|
|
|
+ GDVIRTUAL_BIND(_area_set_ray_pickable, "area", "enable");
|
|
|
|
|
|
GDVIRTUAL_BIND(_area_set_monitor_callback, "area", "callback");
|
|
GDVIRTUAL_BIND(_area_set_monitor_callback, "area", "callback");
|
|
GDVIRTUAL_BIND(_area_set_area_monitor_callback, "area", "callback");
|
|
GDVIRTUAL_BIND(_area_set_area_monitor_callback, "area", "callback");
|
|
- GDVIRTUAL_BIND(_area_set_monitorable, "area", "monitorable");
|
|
|
|
|
|
|
|
- GDVIRTUAL_BIND(_area_set_ray_pickable, "area", "enable");
|
|
|
|
|
|
+ /* BODY API */
|
|
|
|
|
|
GDVIRTUAL_BIND(_body_create);
|
|
GDVIRTUAL_BIND(_body_create);
|
|
|
|
|
|
@@ -190,15 +210,6 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
GDVIRTUAL_BIND(_body_set_mode, "body", "mode");
|
|
GDVIRTUAL_BIND(_body_set_mode, "body", "mode");
|
|
GDVIRTUAL_BIND(_body_get_mode, "body");
|
|
GDVIRTUAL_BIND(_body_get_mode, "body");
|
|
|
|
|
|
- GDVIRTUAL_BIND(_body_set_collision_layer, "body", "layer");
|
|
|
|
- GDVIRTUAL_BIND(_body_get_collision_layer, "body");
|
|
|
|
-
|
|
|
|
- GDVIRTUAL_BIND(_body_set_collision_mask, "body", "mask");
|
|
|
|
- GDVIRTUAL_BIND(_body_get_collision_mask, "body");
|
|
|
|
-
|
|
|
|
- GDVIRTUAL_BIND(_body_set_collision_priority, "body", "priority");
|
|
|
|
- GDVIRTUAL_BIND(_body_get_collision_priority, "body");
|
|
|
|
-
|
|
|
|
GDVIRTUAL_BIND(_body_add_shape, "body", "shape", "transform", "disabled");
|
|
GDVIRTUAL_BIND(_body_add_shape, "body", "shape", "transform", "disabled");
|
|
GDVIRTUAL_BIND(_body_set_shape, "body", "shape_idx", "shape");
|
|
GDVIRTUAL_BIND(_body_set_shape, "body", "shape_idx", "shape");
|
|
GDVIRTUAL_BIND(_body_set_shape_transform, "body", "shape_idx", "transform");
|
|
GDVIRTUAL_BIND(_body_set_shape_transform, "body", "shape_idx", "transform");
|
|
@@ -217,6 +228,18 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
GDVIRTUAL_BIND(_body_set_enable_continuous_collision_detection, "body", "enable");
|
|
GDVIRTUAL_BIND(_body_set_enable_continuous_collision_detection, "body", "enable");
|
|
GDVIRTUAL_BIND(_body_is_continuous_collision_detection_enabled, "body");
|
|
GDVIRTUAL_BIND(_body_is_continuous_collision_detection_enabled, "body");
|
|
|
|
|
|
|
|
+ GDVIRTUAL_BIND(_body_set_collision_layer, "body", "layer");
|
|
|
|
+ GDVIRTUAL_BIND(_body_get_collision_layer, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_body_set_collision_mask, "body", "mask");
|
|
|
|
+ GDVIRTUAL_BIND(_body_get_collision_mask, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_body_set_collision_priority, "body", "priority");
|
|
|
|
+ GDVIRTUAL_BIND(_body_get_collision_priority, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_body_set_user_flags, "body", "flags");
|
|
|
|
+ GDVIRTUAL_BIND(_body_get_user_flags, "body");
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_body_set_param, "body", "param", "value");
|
|
GDVIRTUAL_BIND(_body_set_param, "body", "param", "value");
|
|
GDVIRTUAL_BIND(_body_get_param, "body", "param");
|
|
GDVIRTUAL_BIND(_body_get_param, "body", "param");
|
|
|
|
|
|
@@ -250,13 +273,18 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
|
|
|
|
GDVIRTUAL_BIND(_body_add_collision_exception, "body", "excepted_body");
|
|
GDVIRTUAL_BIND(_body_add_collision_exception, "body", "excepted_body");
|
|
GDVIRTUAL_BIND(_body_remove_collision_exception, "body", "excepted_body");
|
|
GDVIRTUAL_BIND(_body_remove_collision_exception, "body", "excepted_body");
|
|
|
|
+ GDVIRTUAL_BIND(_body_get_collision_exceptions, "body");
|
|
|
|
|
|
GDVIRTUAL_BIND(_body_set_max_contacts_reported, "body", "amount");
|
|
GDVIRTUAL_BIND(_body_set_max_contacts_reported, "body", "amount");
|
|
GDVIRTUAL_BIND(_body_get_max_contacts_reported, "body");
|
|
GDVIRTUAL_BIND(_body_get_max_contacts_reported, "body");
|
|
|
|
|
|
|
|
+ GDVIRTUAL_BIND(_body_set_contacts_reported_depth_threshold, "body", "threshold");
|
|
|
|
+ GDVIRTUAL_BIND(_body_get_contacts_reported_depth_threshold, "body");
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_body_set_omit_force_integration, "body", "enable");
|
|
GDVIRTUAL_BIND(_body_set_omit_force_integration, "body", "enable");
|
|
GDVIRTUAL_BIND(_body_is_omitting_force_integration, "body");
|
|
GDVIRTUAL_BIND(_body_is_omitting_force_integration, "body");
|
|
|
|
|
|
|
|
+ GDVIRTUAL_BIND(_body_set_state_sync_callback, "body", "callback");
|
|
GDVIRTUAL_BIND(_body_set_force_integration_callback, "body", "callable", "userdata");
|
|
GDVIRTUAL_BIND(_body_set_force_integration_callback, "body", "callable", "userdata");
|
|
|
|
|
|
GDVIRTUAL_BIND(_body_set_ray_pickable, "body", "enable");
|
|
GDVIRTUAL_BIND(_body_set_ray_pickable, "body", "enable");
|
|
@@ -265,12 +293,68 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
|
|
|
|
GDVIRTUAL_BIND(_body_get_direct_state, "body");
|
|
GDVIRTUAL_BIND(_body_get_direct_state, "body");
|
|
|
|
|
|
|
|
+ /* SOFT BODY API */
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_create);
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_update_rendering_server, "body", "rendering_server_handler");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_space, "body", "space");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_space, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_ray_pickable, "body", "enable");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_collision_layer, "body", "layer");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_collision_layer, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_collision_mask, "body", "mask");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_collision_mask, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_add_collision_exception, "body", "body_b");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_remove_collision_exception, "body", "body_b");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_collision_exceptions, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_state, "body", "state", "variant");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_state, "body", "state");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_transform, "body", "transform");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_simulation_precision, "body", "simulation_precision");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_simulation_precision, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_total_mass, "body", "total_mass");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_total_mass, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_linear_stiffness, "body", "linear_stiffness");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_linear_stiffness, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_pressure_coefficient, "body", "pressure_coefficient");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_pressure_coefficient, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_damping_coefficient, "body", "damping_coefficient");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_damping_coefficient, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_drag_coefficient, "body", "drag_coefficient");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_drag_coefficient, "body");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_set_mesh, "body", "mesh");
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_soft_body_get_bounds, "body");
|
|
GDVIRTUAL_BIND(_soft_body_get_bounds, "body");
|
|
|
|
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_move_point, "body", "point_index", "global_position");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_get_point_global_position, "body", "point_index");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_remove_all_pinned_points, "body");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_pin_point, "body", "point_index", "pin");
|
|
|
|
+ GDVIRTUAL_BIND(_soft_body_is_point_pinned, "body", "point_index");
|
|
|
|
+
|
|
|
|
+ /* JOINT API */
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_joint_create);
|
|
GDVIRTUAL_BIND(_joint_create);
|
|
GDVIRTUAL_BIND(_joint_clear, "joint");
|
|
GDVIRTUAL_BIND(_joint_clear, "joint");
|
|
|
|
|
|
GDVIRTUAL_BIND(_joint_make_pin, "joint", "body_A", "local_A", "body_B", "local_B");
|
|
GDVIRTUAL_BIND(_joint_make_pin, "joint", "body_A", "local_A", "body_B", "local_B");
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_pin_joint_set_param, "joint", "param", "value");
|
|
GDVIRTUAL_BIND(_pin_joint_set_param, "joint", "param", "value");
|
|
GDVIRTUAL_BIND(_pin_joint_get_param, "joint", "param");
|
|
GDVIRTUAL_BIND(_pin_joint_get_param, "joint", "param");
|
|
|
|
|
|
@@ -281,6 +365,7 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
GDVIRTUAL_BIND(_pin_joint_get_local_b, "joint");
|
|
GDVIRTUAL_BIND(_pin_joint_get_local_b, "joint");
|
|
|
|
|
|
GDVIRTUAL_BIND(_joint_make_hinge, "joint", "body_A", "hinge_A", "body_B", "hinge_B");
|
|
GDVIRTUAL_BIND(_joint_make_hinge, "joint", "body_A", "hinge_A", "body_B", "hinge_B");
|
|
|
|
+ GDVIRTUAL_BIND(_joint_make_hinge_simple, "joint", "body_A", "pivot_A", "axis_A", "body_B", "pivot_B", "axis_B");
|
|
|
|
|
|
GDVIRTUAL_BIND(_hinge_joint_set_param, "joint", "param", "value");
|
|
GDVIRTUAL_BIND(_hinge_joint_set_param, "joint", "param", "value");
|
|
GDVIRTUAL_BIND(_hinge_joint_get_param, "joint", "param");
|
|
GDVIRTUAL_BIND(_hinge_joint_get_param, "joint", "param");
|
|
@@ -298,11 +383,6 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
GDVIRTUAL_BIND(_cone_twist_joint_set_param, "joint", "param", "value");
|
|
GDVIRTUAL_BIND(_cone_twist_joint_set_param, "joint", "param", "value");
|
|
GDVIRTUAL_BIND(_cone_twist_joint_get_param, "joint", "param");
|
|
GDVIRTUAL_BIND(_cone_twist_joint_get_param, "joint", "param");
|
|
|
|
|
|
- GDVIRTUAL_BIND(_joint_get_type, "joint");
|
|
|
|
-
|
|
|
|
- GDVIRTUAL_BIND(_joint_set_solver_priority, "joint", "priority");
|
|
|
|
- GDVIRTUAL_BIND(_joint_get_solver_priority, "joint");
|
|
|
|
-
|
|
|
|
GDVIRTUAL_BIND(_joint_make_generic_6dof, "joint", "body_A", "local_ref_A", "body_B", "local_ref_B");
|
|
GDVIRTUAL_BIND(_joint_make_generic_6dof, "joint", "body_A", "local_ref_A", "body_B", "local_ref_B");
|
|
|
|
|
|
GDVIRTUAL_BIND(_generic_6dof_joint_set_param, "joint", "axis", "param", "value");
|
|
GDVIRTUAL_BIND(_generic_6dof_joint_set_param, "joint", "axis", "param", "value");
|
|
@@ -311,6 +391,11 @@ void PhysicsServer3DExtension::_bind_methods() {
|
|
GDVIRTUAL_BIND(_generic_6dof_joint_set_flag, "joint", "axis", "flag", "enable");
|
|
GDVIRTUAL_BIND(_generic_6dof_joint_set_flag, "joint", "axis", "flag", "enable");
|
|
GDVIRTUAL_BIND(_generic_6dof_joint_get_flag, "joint", "axis", "flag");
|
|
GDVIRTUAL_BIND(_generic_6dof_joint_get_flag, "joint", "axis", "flag");
|
|
|
|
|
|
|
|
+ GDVIRTUAL_BIND(_joint_get_type, "joint");
|
|
|
|
+
|
|
|
|
+ GDVIRTUAL_BIND(_joint_set_solver_priority, "joint", "priority");
|
|
|
|
+ GDVIRTUAL_BIND(_joint_get_solver_priority, "joint");
|
|
|
|
+
|
|
GDVIRTUAL_BIND(_free_rid, "rid");
|
|
GDVIRTUAL_BIND(_free_rid, "rid");
|
|
|
|
|
|
GDVIRTUAL_BIND(_set_active, "active");
|
|
GDVIRTUAL_BIND(_set_active, "active");
|