Table of Contents

Class PhysicsServer2DExtension

Provides virtual methods that can be overridden to create custom PhysicsServer2D implementations.

Inheritance
PhysicsServer2DExtension

Remarks

This class extends PhysicsServer2D by providing additional virtual methods that can be overridden. When these methods are overridden, they will be called instead of the internal methods of the physics server.

Intended for use with GDExtension to create custom implementations of PhysicsServer2D.

Methods

_area_add_shape(RID, RID, Transform2D, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_add_shape.

void _area_add_shape(RID area, RID shape, Transform2D transform, bool disabled)

Parameters

area RID
shape RID
transform Transform2D
disabled bool

_area_attach_canvas_instance_id(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_attach_canvas_instance_id.

void _area_attach_canvas_instance_id(RID area, int id)

Parameters

area RID
id int

_area_attach_object_instance_id(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_attach_object_instance_id.

void _area_attach_object_instance_id(RID area, int id)

Parameters

area RID
id int

_area_clear_shapes(RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_clear_shapes.

void _area_clear_shapes(RID area)

Parameters

area RID

_area_create

Qualifiers: virtual

Overridable version of area_create.

RID _area_create

_area_get_canvas_instance_id(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_canvas_instance_id.

int _area_get_canvas_instance_id(RID area)

Parameters

area RID

_area_get_collision_layer(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_collision_layer.

int _area_get_collision_layer(RID area)

Parameters

area RID

_area_get_collision_mask(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_collision_mask.

int _area_get_collision_mask(RID area)

Parameters

area RID

_area_get_object_instance_id(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_object_instance_id.

int _area_get_object_instance_id(RID area)

Parameters

area RID

_area_get_param(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_param.

Variant _area_get_param(RID area, int param)

Parameters

area RID
param int

_area_get_shape(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_shape.

RID _area_get_shape(RID area, int shape_idx)

Parameters

area RID
shape_idx int

_area_get_shape_count(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_shape_count.

int _area_get_shape_count(RID area)

Parameters

area RID

_area_get_shape_transform(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_shape_transform.

Transform2D _area_get_shape_transform(RID area, int shape_idx)

Parameters

area RID
shape_idx int

_area_get_space(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_space.

RID _area_get_space(RID area)

Parameters

area RID

_area_get_transform(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.area_get_transform.

Transform2D _area_get_transform(RID area)

Parameters

area RID

_area_remove_shape(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_remove_shape.

void _area_remove_shape(RID area, int shape_idx)

Parameters

area RID
shape_idx int

_area_set_area_monitor_callback(RID, Callable)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_area_monitor_callback.

void _area_set_area_monitor_callback(RID area, Callable callback)

Parameters

area RID
callback Callable

_area_set_collision_layer(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_collision_layer.

void _area_set_collision_layer(RID area, int layer)

Parameters

area RID
layer int

_area_set_collision_mask(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_collision_mask.

void _area_set_collision_mask(RID area, int mask)

Parameters

area RID
mask int

_area_set_monitor_callback(RID, Callable)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_monitor_callback.

void _area_set_monitor_callback(RID area, Callable callback)

Parameters

area RID
callback Callable

_area_set_monitorable(RID, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_monitorable.

void _area_set_monitorable(RID area, bool monitorable)

Parameters

area RID
monitorable bool

_area_set_param(RID, int, Variant)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_param.

void _area_set_param(RID area, int param, Variant value)

Parameters

area RID
param int
value Variant

_area_set_pickable(RID, bool)

Qualifiers: virtual

If set to true, allows the area with the given RID to detect mouse inputs when the mouse cursor is hovering on it.

Overridable version of PhysicsServer2D's internal area_set_pickable method. Corresponds to input_pickable.

void _area_set_pickable(RID area, bool pickable)

Parameters

area RID
pickable bool

_area_set_shape(RID, int, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_shape.

void _area_set_shape(RID area, int shape_idx, RID shape)

Parameters

area RID
shape_idx int
shape RID

_area_set_shape_disabled(RID, int, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_shape_disabled.

void _area_set_shape_disabled(RID area, int shape_idx, bool disabled)

Parameters

area RID
shape_idx int
disabled bool

_area_set_shape_transform(RID, int, Transform2D)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_shape_transform.

void _area_set_shape_transform(RID area, int shape_idx, Transform2D transform)

Parameters

area RID
shape_idx int
transform Transform2D

_area_set_space(RID, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_space.

void _area_set_space(RID area, RID space)

Parameters

area RID
space RID

_area_set_transform(RID, Transform2D)

Qualifiers: virtual

Overridable version of PhysicsServer2D.area_set_transform.

void _area_set_transform(RID area, Transform2D transform)

Parameters

area RID
transform Transform2D

_body_add_collision_exception(RID, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_add_collision_exception.

void _body_add_collision_exception(RID body, RID excepted_body)

Parameters

body RID
excepted_body RID

_body_add_constant_central_force(RID, Vector2)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_add_constant_central_force.

void _body_add_constant_central_force(RID body, Vector2 force)

Parameters

body RID
force Vector2

_body_add_constant_force(RID, Vector2, Vector2)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_add_constant_force.

void _body_add_constant_force(RID body, Vector2 force, Vector2 position)

Parameters

body RID
force Vector2
position Vector2

_body_add_constant_torque(RID, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_add_constant_torque.

void _body_add_constant_torque(RID body, float torque)

Parameters

body RID
torque float

_body_add_shape(RID, RID, Transform2D, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_add_shape.

void _body_add_shape(RID body, RID shape, Transform2D transform, bool disabled)

Parameters

body RID
shape RID
transform Transform2D
disabled bool

_body_apply_central_force(RID, Vector2)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_apply_central_force.

void _body_apply_central_force(RID body, Vector2 force)

Parameters

body RID
force Vector2

_body_apply_central_impulse(RID, Vector2)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_apply_central_impulse.

void _body_apply_central_impulse(RID body, Vector2 impulse)

Parameters

body RID
impulse Vector2

_body_apply_force(RID, Vector2, Vector2)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_apply_force.

void _body_apply_force(RID body, Vector2 force, Vector2 position)

Parameters

body RID
force Vector2
position Vector2

_body_apply_impulse(RID, Vector2, Vector2)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_apply_impulse.

void _body_apply_impulse(RID body, Vector2 impulse, Vector2 position)

Parameters

body RID
impulse Vector2
position Vector2

_body_apply_torque(RID, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_apply_torque.

void _body_apply_torque(RID body, float torque)

Parameters

body RID
torque float

_body_apply_torque_impulse(RID, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_apply_torque_impulse.

void _body_apply_torque_impulse(RID body, float impulse)

Parameters

body RID
impulse float

_body_attach_canvas_instance_id(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_attach_canvas_instance_id.

void _body_attach_canvas_instance_id(RID body, int id)

Parameters

body RID
id int

_body_attach_object_instance_id(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_attach_object_instance_id.

void _body_attach_object_instance_id(RID body, int id)

Parameters

body RID
id int

_body_clear_shapes(RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_clear_shapes.

void _body_clear_shapes(RID body)

Parameters

body RID

_body_collide_shape(RID, int, RID, Transform2D, Vector2, void*, int, int32_t*)

Qualifiers: virtual

Given a body, a shape, and their respective parameters, this method should return true if a collision between the two would occur, with additional details passed in results.

Overridable version of PhysicsServer2D's internal shape_collide method. Corresponds to PhysicsDirectSpaceState2D.collide_shape.

bool _body_collide_shape(RID body, int body_shape, RID shape, Transform2D shape_xform, Vector2 motion, void* results, int result_max, int32_t* result_count)

Parameters

body RID
body_shape int
shape RID
shape_xform Transform2D
motion Vector2
results void*
result_max int
result_count int32_t*

_body_create

Qualifiers: virtual

Overridable version of body_create.

RID _body_create

_body_get_canvas_instance_id(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_canvas_instance_id.

int _body_get_canvas_instance_id(RID body)

Parameters

body RID

_body_get_collision_exceptions(RID)

Qualifiers: virtualconst

Returns the RIDs of all bodies added as collision exceptions for the given body. See also PhysicsServer2DExtension._body_add_collision_exception and PhysicsServer2DExtension._body_remove_collision_exception.

Overridable version of PhysicsServer2D's internal body_get_collision_exceptions method. Corresponds to get_collision_exceptions.

RID[] _body_get_collision_exceptions(RID body)

Parameters

body RID

_body_get_collision_layer(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_collision_layer.

int _body_get_collision_layer(RID body)

Parameters

body RID

_body_get_collision_mask(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_collision_mask.

int _body_get_collision_mask(RID body)

Parameters

body RID

_body_get_collision_priority(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_collision_priority.

float _body_get_collision_priority(RID body)

Parameters

body RID

_body_get_constant_force(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_constant_force.

Vector2 _body_get_constant_force(RID body)

Parameters

body RID

_body_get_constant_torque(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_constant_torque.

float _body_get_constant_torque(RID body)

Parameters

body RID

_body_get_contacts_reported_depth_threshold(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D's internal body_get_contacts_reported_depth_threshold method.

Note: This method is currently unused by Godot's default physics implementation.

float _body_get_contacts_reported_depth_threshold(RID body)

Parameters

body RID

_body_get_continuous_collision_detection_mode(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_continuous_collision_detection_mode.

int _body_get_continuous_collision_detection_mode(RID body)

Parameters

body RID

_body_get_direct_state(RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_get_direct_state.

PhysicsDirectBodyState2D _body_get_direct_state(RID body)

Parameters

body RID

_body_get_max_contacts_reported(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_max_contacts_reported.

int _body_get_max_contacts_reported(RID body)

Parameters

body RID

_body_get_mode(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_mode.

int _body_get_mode(RID body)

Parameters

body RID

_body_get_object_instance_id(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_object_instance_id.

int _body_get_object_instance_id(RID body)

Parameters

body RID

_body_get_param(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_param.

Variant _body_get_param(RID body, int param)

Parameters

body RID
param int

_body_get_shape(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_shape.

RID _body_get_shape(RID body, int shape_idx)

Parameters

body RID
shape_idx int

_body_get_shape_count(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_shape_count.

int _body_get_shape_count(RID body)

Parameters

body RID

_body_get_shape_transform(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_shape_transform.

Transform2D _body_get_shape_transform(RID body, int shape_idx)

Parameters

body RID
shape_idx int

_body_get_space(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_space.

RID _body_get_space(RID body)

Parameters

body RID

_body_get_state(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_get_state.

Variant _body_get_state(RID body, int state)

Parameters

body RID
state int

_body_is_omitting_force_integration(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_is_omitting_force_integration.

bool _body_is_omitting_force_integration(RID body)

Parameters

body RID

_body_remove_collision_exception(RID, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_remove_collision_exception.

void _body_remove_collision_exception(RID body, RID excepted_body)

Parameters

body RID
excepted_body RID

_body_remove_shape(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_remove_shape.

void _body_remove_shape(RID body, int shape_idx)

Parameters

body RID
shape_idx int

_body_reset_mass_properties(RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_reset_mass_properties.

void _body_reset_mass_properties(RID body)

Parameters

body RID

_body_set_axis_velocity(RID, Vector2)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_axis_velocity.

void _body_set_axis_velocity(RID body, Vector2 axis_velocity)

Parameters

body RID
axis_velocity Vector2

_body_set_collision_layer(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_collision_layer.

void _body_set_collision_layer(RID body, int layer)

Parameters

body RID
layer int

_body_set_collision_mask(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_collision_mask.

void _body_set_collision_mask(RID body, int mask)

Parameters

body RID
mask int

_body_set_collision_priority(RID, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_collision_priority.

void _body_set_collision_priority(RID body, float priority)

Parameters

body RID
priority float

_body_set_constant_force(RID, Vector2)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_constant_force.

void _body_set_constant_force(RID body, Vector2 force)

Parameters

body RID
force Vector2

_body_set_constant_torque(RID, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_constant_torque.

void _body_set_constant_torque(RID body, float torque)

Parameters

body RID
torque float

_body_set_contacts_reported_depth_threshold(RID, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D's internal body_set_contacts_reported_depth_threshold method.

Note: This method is currently unused by Godot's default physics implementation.

void _body_set_contacts_reported_depth_threshold(RID body, float threshold)

Parameters

body RID
threshold float

_body_set_continuous_collision_detection_mode(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_continuous_collision_detection_mode.

void _body_set_continuous_collision_detection_mode(RID body, int mode)

Parameters

body RID
mode int

_body_set_force_integration_callback(RID, Callable, Variant)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_force_integration_callback.

void _body_set_force_integration_callback(RID body, Callable callable, Variant userdata)

Parameters

body RID
callable Callable
userdata Variant

_body_set_max_contacts_reported(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_max_contacts_reported.

void _body_set_max_contacts_reported(RID body, int amount)

Parameters

body RID
amount int

_body_set_mode(RID, int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_mode.

void _body_set_mode(RID body, int mode)

Parameters

body RID
mode int

_body_set_omit_force_integration(RID, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_omit_force_integration.

void _body_set_omit_force_integration(RID body, bool enable)

Parameters

body RID
enable bool

_body_set_param(RID, int, Variant)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_param.

void _body_set_param(RID body, int param, Variant value)

Parameters

body RID
param int
value Variant

_body_set_pickable(RID, bool)

Qualifiers: virtual

If set to true, allows the body with the given RID to detect mouse inputs when the mouse cursor is hovering on it.

Overridable version of PhysicsServer2D's internal body_set_pickable method. Corresponds to input_pickable.

void _body_set_pickable(RID body, bool pickable)

Parameters

body RID
pickable bool

_body_set_shape(RID, int, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_shape.

void _body_set_shape(RID body, int shape_idx, RID shape)

Parameters

body RID
shape_idx int
shape RID

_body_set_shape_as_one_way_collision(RID, int, bool, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_shape_as_one_way_collision.

void _body_set_shape_as_one_way_collision(RID body, int shape_idx, bool enable, float margin)

Parameters

body RID
shape_idx int
enable bool
margin float

_body_set_shape_disabled(RID, int, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_shape_disabled.

void _body_set_shape_disabled(RID body, int shape_idx, bool disabled)

Parameters

body RID
shape_idx int
disabled bool

_body_set_shape_transform(RID, int, Transform2D)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_shape_transform.

void _body_set_shape_transform(RID body, int shape_idx, Transform2D transform)

Parameters

body RID
shape_idx int
transform Transform2D

_body_set_space(RID, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_space.

void _body_set_space(RID body, RID space)

Parameters

body RID
space RID

_body_set_state(RID, int, Variant)

Qualifiers: virtual

Overridable version of PhysicsServer2D.body_set_state.

void _body_set_state(RID body, int state, Variant value)

Parameters

body RID
state int
value Variant

_body_set_state_sync_callback(RID, Callable)

Qualifiers: virtual

Assigns the body to call the given callable during the synchronization phase of the loop, before PhysicsServer2DExtension._step is called. See also _sync.

Overridable version of PhysicsServer2D.body_set_state_sync_callback.

void _body_set_state_sync_callback(RID body, Callable callable)

Parameters

body RID
callable Callable

_body_test_motion(RID, Transform2D, Vector2, float, bool, bool, PhysicsServer2DExtensionMotionResult*)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.body_test_motion. Unlike the exposed implementation, this method does not receive all of the arguments inside a PhysicsTestMotionParameters2D.

bool _body_test_motion(RID body, Transform2D from, Vector2 motion, float margin, bool collide_separation_ray, bool recovery_as_collision, PhysicsServer2DExtensionMotionResult* result)

Parameters

body RID
from Transform2D
motion Vector2
margin float
collide_separation_ray bool
recovery_as_collision bool
result PhysicsServer2DExtensionMotionResult*

_capsule_shape_create

Qualifiers: virtual

Overridable version of capsule_shape_create.

RID _capsule_shape_create

_circle_shape_create

Qualifiers: virtual

Overridable version of circle_shape_create.

RID _circle_shape_create

_concave_polygon_shape_create

Qualifiers: virtual

Overridable version of concave_polygon_shape_create.

RID _concave_polygon_shape_create

_convex_polygon_shape_create

Qualifiers: virtual

Overridable version of convex_polygon_shape_create.

RID _convex_polygon_shape_create

_damped_spring_joint_get_param(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.damped_spring_joint_get_param.

float _damped_spring_joint_get_param(RID joint, int param)

Parameters

joint RID
param int

_damped_spring_joint_set_param(RID, int, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.damped_spring_joint_set_param.

void _damped_spring_joint_set_param(RID joint, int param, float value)

Parameters

joint RID
param int
value float

_end_sync

Qualifiers: virtual

Called to indicate that the physics server has stopped synchronizing. It is in the loop's iteration/physics phase, and can access physics objects even if running on a separate thread. See also _sync.

Overridable version of PhysicsServer2D's internal end_sync method.

void _end_sync

_finish

Qualifiers: virtual

Called when the main loop finalizes to shut down the physics server. See also _finalize and _init.

Overridable version of PhysicsServer2D's internal finish method.

void _finish

_flush_queries

Qualifiers: virtual

Called every physics step before PhysicsServer2DExtension._step to process all remaining queries.

Overridable version of PhysicsServer2D's internal flush_queries method.

void _flush_queries

_free_rid(RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.free_rid.

void _free_rid(RID rid)

Parameters

rid RID

_get_process_info(int)

Qualifiers: virtual

Overridable version of PhysicsServer2D.get_process_info.

int _get_process_info(int process_info)

Parameters

process_info int

_init

Qualifiers: virtual

Called when the main loop is initialized and creates a new instance of this physics server. See also _initialize and _finish.

Overridable version of PhysicsServer2D's internal init method.

void _init

_is_flushing_queries

Qualifiers: virtualconst

Overridable method that should return true when the physics server is processing queries. See also _flush_queries.

Overridable version of PhysicsServer2D's internal is_flushing_queries method.

bool _is_flushing_queries

_joint_clear(RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.joint_clear.

void _joint_clear(RID joint)

Parameters

joint RID

_joint_create

Qualifiers: virtual

Overridable version of joint_create.

RID _joint_create

_joint_disable_collisions_between_bodies(RID, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.joint_disable_collisions_between_bodies.

void _joint_disable_collisions_between_bodies(RID joint, bool disable)

Parameters

joint RID
disable bool

_joint_get_param(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.joint_get_param.

float _joint_get_param(RID joint, int param)

Parameters

joint RID
param int

_joint_get_type(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.joint_get_type.

int _joint_get_type(RID joint)

Parameters

joint RID

_joint_is_disabled_collisions_between_bodies(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.joint_is_disabled_collisions_between_bodies.

bool _joint_is_disabled_collisions_between_bodies(RID joint)

Parameters

joint RID

_joint_make_damped_spring(RID, Vector2, Vector2, RID, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.joint_make_damped_spring.

void _joint_make_damped_spring(RID joint, Vector2 anchor_a, Vector2 anchor_b, RID body_a, RID body_b)

Parameters

joint RID
anchor_a Vector2
anchor_b Vector2
body_a RID
body_b RID

_joint_make_groove(RID, Vector2, Vector2, Vector2, RID, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.joint_make_groove.

void _joint_make_groove(RID joint, Vector2 a_groove1, Vector2 a_groove2, Vector2 b_anchor, RID body_a, RID body_b)

Parameters

joint RID
a_groove1 Vector2
a_groove2 Vector2
b_anchor Vector2
body_a RID
body_b RID

_joint_make_pin(RID, Vector2, RID, RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.joint_make_pin.

void _joint_make_pin(RID joint, Vector2 anchor, RID body_a, RID body_b)

Parameters

joint RID
anchor Vector2
body_a RID
body_b RID

_joint_set_param(RID, int, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.joint_set_param.

void _joint_set_param(RID joint, int param, float value)

Parameters

joint RID
param int
value float

_pin_joint_get_flag(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.pin_joint_get_flag.

bool _pin_joint_get_flag(RID joint, int flag)

Parameters

joint RID
flag int

_pin_joint_get_param(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.pin_joint_get_param.

float _pin_joint_get_param(RID joint, int param)

Parameters

joint RID
param int

_pin_joint_set_flag(RID, int, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.pin_joint_set_flag.

void _pin_joint_set_flag(RID joint, int flag, bool enabled)

Parameters

joint RID
flag int
enabled bool

_pin_joint_set_param(RID, int, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.pin_joint_set_param.

void _pin_joint_set_param(RID joint, int param, float value)

Parameters

joint RID
param int
value float

_rectangle_shape_create

Qualifiers: virtual

Overridable version of rectangle_shape_create.

RID _rectangle_shape_create

_segment_shape_create

Qualifiers: virtual

Overridable version of segment_shape_create.

RID _segment_shape_create

_separation_ray_shape_create

Qualifiers: virtual

Overridable version of separation_ray_shape_create.

RID _separation_ray_shape_create

_set_active(bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.set_active.

void _set_active(bool active)

Parameters

active bool

_shape_collide(RID, Transform2D, Vector2, RID, Transform2D, Vector2, void*, int, int32_t*)

Qualifiers: virtual

Given two shapes and their parameters, should return true if a collision between the two would occur, with additional details passed in results.

Overridable version of PhysicsServer2D's internal shape_collide method. Corresponds to PhysicsDirectSpaceState2D.collide_shape.

bool _shape_collide(RID shape_A, Transform2D xform_A, Vector2 motion_A, RID shape_B, Transform2D xform_B, Vector2 motion_B, void* results, int result_max, int32_t* result_count)

Parameters

shape_A RID
xform_A Transform2D
motion_A Vector2
shape_B RID
xform_B Transform2D
motion_B Vector2
results void*
result_max int
result_count int32_t*

_shape_get_custom_solver_bias(RID)

Qualifiers: virtualconst

Should return the custom solver bias of the given shape, which defines how much bodies are forced to separate on contact when this shape is involved.

Overridable version of PhysicsServer2D's internal shape_get_custom_solver_bias method. Corresponds to custom_solver_bias.

float _shape_get_custom_solver_bias(RID shape)

Parameters

shape RID

_shape_get_data(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.shape_get_data.

Variant _shape_get_data(RID shape)

Parameters

shape RID

_shape_get_type(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.shape_get_type.

int _shape_get_type(RID shape)

Parameters

shape RID

_shape_set_custom_solver_bias(RID, float)

Qualifiers: virtual

Should set the custom solver bias for the given shape. It defines how much bodies are forced to separate on contact.

Overridable version of PhysicsServer2D's internal shape_get_custom_solver_bias method. Corresponds to custom_solver_bias.

void _shape_set_custom_solver_bias(RID shape, float bias)

Parameters

shape RID
bias float

_shape_set_data(RID, Variant)

Qualifiers: virtual

Overridable version of PhysicsServer2D.shape_set_data.

void _shape_set_data(RID shape, Variant data)

Parameters

shape RID
data Variant

_space_create

Qualifiers: virtual

Overridable version of space_create.

RID _space_create

_space_get_contact_count(RID)

Qualifiers: virtualconst

Should return how many contacts have occurred during the last physics step in the given space. See also PhysicsServer2DExtension._space_get_contacts and PhysicsServer2DExtension._space_set_debug_contacts.

Overridable version of PhysicsServer2D's internal space_get_contact_count method.

int _space_get_contact_count(RID space)

Parameters

space RID

_space_get_contacts(RID)

Qualifiers: virtualconst

Should return the positions of all contacts that have occurred during the last physics step in the given space. See also PhysicsServer2DExtension._space_get_contact_count and PhysicsServer2DExtension._space_set_debug_contacts.

Overridable version of PhysicsServer2D's internal space_get_contacts method.

PackedVector2Array _space_get_contacts(RID space)

Parameters

space RID

_space_get_direct_state(RID)

Qualifiers: virtual

Overridable version of PhysicsServer2D.space_get_direct_state.

PhysicsDirectSpaceState2D _space_get_direct_state(RID space)

Parameters

space RID

_space_get_param(RID, int)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.space_get_param.

float _space_get_param(RID space, int param)

Parameters

space RID
param int

_space_is_active(RID)

Qualifiers: virtualconst

Overridable version of PhysicsServer2D.space_is_active.

bool _space_is_active(RID space)

Parameters

space RID

_space_set_active(RID, bool)

Qualifiers: virtual

Overridable version of PhysicsServer2D.space_set_active.

void _space_set_active(RID space, bool active)

Parameters

space RID
active bool

_space_set_debug_contacts(RID, int)

Qualifiers: virtual

Used internally to allow the given space to store contact points, up to max_contacts. This is automatically set for the main World2D's space when debug_collisions_hint is true, or by checking "Visible Collision Shapes" in the editor. Only works in debug builds.

Overridable version of PhysicsServer2D's internal space_set_debug_contacts method.

void _space_set_debug_contacts(RID space, int max_contacts)

Parameters

space RID
max_contacts int

_space_set_param(RID, int, float)

Qualifiers: virtual

Overridable version of PhysicsServer2D.space_set_param.

void _space_set_param(RID space, int param, float value)

Parameters

space RID
param int
value float

_step(float)

Qualifiers: virtual

Called every physics step to process the physics simulation. step is the time elapsed since the last physics step, in seconds. It is usually the same as get_physics_process_delta_time.

Overridable version of PhysicsServer2D's internal step method.

void _step(float step)

Parameters

step float

_sync

Qualifiers: virtual

Called to indicate that the physics server is synchronizing and cannot access physics states if running on a separate thread. See also _end_sync.

Overridable version of PhysicsServer2D's internal sync method.

void _sync

_world_boundary_shape_create

Qualifiers: virtual

Overridable version of world_boundary_shape_create.

RID _world_boundary_shape_create

body_test_motion_is_excluding_body(RID)

Qualifiers: const

Returns true if the body with the given RID is being excluded from PhysicsServer2DExtension._body_test_motion. See also get_instance_id.

bool body_test_motion_is_excluding_body(RID body)

Parameters

body RID

body_test_motion_is_excluding_object(int)

Qualifiers: const

Returns true if the object with the given instance ID is being excluded from PhysicsServer2DExtension._body_test_motion. See also get_instance_id.

bool body_test_motion_is_excluding_object(int object)

Parameters

object int