github_url: | hide |
---|
Inherits: :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` < :ref:`Object<class_Object>`
Provides virtual methods that can be overridden to create custom :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` implementations.
.. rst-class:: classref-introduction-group
This class extends :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` 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 :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>`.
.. rst-class:: classref-reftable-group
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-method
:ref:`bool<class_bool>` _cast_motion ( :ref:`RID<class_RID>` shape_rid, :ref:`Transform2D<class_Transform2D>` transform, :ref:`Vector2<class_Vector2>` motion, :ref:`float<class_float>` margin, :ref:`int<class_int>` collision_mask, :ref:`bool<class_bool>` collide_with_bodies, :ref:`bool<class_bool>` collide_with_areas, float* closest_safe, float* closest_unsafe ) |virtual|
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`bool<class_bool>` _collide_shape ( :ref:`RID<class_RID>` shape_rid, :ref:`Transform2D<class_Transform2D>` transform, :ref:`Vector2<class_Vector2>` motion, :ref:`float<class_float>` margin, :ref:`int<class_int>` collision_mask, :ref:`bool<class_bool>` collide_with_bodies, :ref:`bool<class_bool>` collide_with_areas, void* results, :ref:`int<class_int>` max_results, int32_t* result_count ) |virtual|
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`int<class_int>` _intersect_point ( :ref:`Vector2<class_Vector2>` position, :ref:`int<class_int>` canvas_instance_id, :ref:`int<class_int>` collision_mask, :ref:`bool<class_bool>` collide_with_bodies, :ref:`bool<class_bool>` collide_with_areas, PhysicsServer2DExtensionShapeResult* results, :ref:`int<class_int>` max_results ) |virtual|
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`bool<class_bool>` _intersect_ray ( :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`int<class_int>` collision_mask, :ref:`bool<class_bool>` collide_with_bodies, :ref:`bool<class_bool>` collide_with_areas, :ref:`bool<class_bool>` hit_from_inside, PhysicsServer2DExtensionRayResult* result ) |virtual|
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`int<class_int>` _intersect_shape ( :ref:`RID<class_RID>` shape_rid, :ref:`Transform2D<class_Transform2D>` transform, :ref:`Vector2<class_Vector2>` motion, :ref:`float<class_float>` margin, :ref:`int<class_int>` collision_mask, :ref:`bool<class_bool>` collide_with_bodies, :ref:`bool<class_bool>` collide_with_areas, PhysicsServer2DExtensionShapeResult* result, :ref:`int<class_int>` max_results ) |virtual|
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`bool<class_bool>` _rest_info ( :ref:`RID<class_RID>` shape_rid, :ref:`Transform2D<class_Transform2D>` transform, :ref:`Vector2<class_Vector2>` motion, :ref:`float<class_float>` margin, :ref:`int<class_int>` collision_mask, :ref:`bool<class_bool>` collide_with_bodies, :ref:`bool<class_bool>` collide_with_areas, PhysicsServer2DExtensionShapeRestInfo* rest_info ) |virtual|
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`bool<class_bool>` is_body_excluded_from_query ( :ref:`RID<class_RID>` body ) |const|