2017-09-12 20:42:36 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 13:18:53 +00:00
<class name= "PhysicsShapeQueryParameters2D" inherits= "RefCounted" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 20:42:36 +00:00
<brief_description >
Parameters to be sent to a 2D shape physics query.
</brief_description>
<description >
2021-11-02 01:00:58 +00:00
This class contains the shape and other parameters for [PhysicsDirectSpaceState2D] intersection/collision queries.
2017-09-12 20:42:36 +00:00
</description>
<tutorials >
</tutorials>
2018-01-11 22:38:35 +00:00
<members >
2019-06-29 10:38:01 +00:00
<member name= "collide_with_areas" type= "bool" setter= "set_collide_with_areas" getter= "is_collide_with_areas_enabled" default= "false" >
2019-12-09 14:16:28 +00:00
If [code]true[/code], the query will take [Area2D]s into account.
2018-08-29 20:25:11 +00:00
</member>
2019-06-29 10:38:01 +00:00
<member name= "collide_with_bodies" type= "bool" setter= "set_collide_with_bodies" getter= "is_collide_with_bodies_enabled" default= "true" >
2019-12-09 14:16:28 +00:00
If [code]true[/code], the query will take [PhysicsBody2D]s into account.
2018-08-29 20:25:11 +00:00
</member>
2021-08-30 23:29:16 +00:00
<member name= "collision_mask" type= "int" setter= "set_collision_mask" getter= "get_collision_mask" default= "4294967295" >
2021-11-15 09:43:07 +00:00
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
2018-01-11 22:38:35 +00:00
</member>
2022-08-31 17:24:04 +00:00
<member name= "exclude" type= "RID[]" setter= "set_exclude" getter= "get_exclude" default= "[]" >
2022-11-23 17:32:30 +00:00
The list of object [RID]s that will be excluded from collisions. Use [method CollisionObject2D.get_rid] to get the [RID] associated with a [CollisionObject2D]-derived node.
2018-01-11 22:38:35 +00:00
</member>
2019-06-29 10:38:01 +00:00
<member name= "margin" type= "float" setter= "set_margin" getter= "get_margin" default= "0.0" >
2018-01-11 22:38:35 +00:00
The collision margin for the shape.
</member>
2019-09-24 17:45:03 +00:00
<member name= "motion" type= "Vector2" setter= "set_motion" getter= "get_motion" default= "Vector2(0, 0)" >
2018-01-11 22:38:35 +00:00
The motion of the shape being queried for.
</member>
2020-01-27 19:04:16 +00:00
<member name= "shape" type= "Resource" setter= "set_shape" getter= "get_shape" >
The [Shape2D] that will be used for collision/intersection queries. This stores the actual reference which avoids the shape to be released while being used for queries, so always prefer using this over [member shape_rid].
</member>
2018-01-11 22:38:35 +00:00
<member name= "shape_rid" type= "RID" setter= "set_shape_rid" getter= "get_shape_rid" >
2020-01-27 19:04:16 +00:00
The queried shape's [RID] that will be used for collision/intersection queries. Use this over [member shape] if you want to optimize for performance using the Servers API:
2020-10-31 17:54:17 +00:00
[codeblocks]
[gdscript]
var shape_rid = PhysicsServer2D.circle_shape_create()
var radius = 64
PhysicsServer2D.shape_set_data(shape_rid, radius)
2020-01-27 19:04:16 +00:00
2020-10-31 17:54:17 +00:00
var params = PhysicsShapeQueryParameters2D.new()
params.shape_rid = shape_rid
2020-01-27 19:04:16 +00:00
2020-10-31 17:54:17 +00:00
# Execute physics queries here...
2020-01-27 19:04:16 +00:00
2020-10-31 17:54:17 +00:00
# Release the shape when done with physics queries.
PhysicsServer2D.free_rid(shape_rid)
[/gdscript]
[csharp]
RID shapeRid = PhysicsServer2D.CircleShapeCreate();
int radius = 64;
PhysicsServer2D.ShapeSetData(shapeRid, radius);
var params = new PhysicsShapeQueryParameters2D();
params.ShapeRid = shapeRid;
// Execute physics queries here...
// Release the shape when done with physics queries.
PhysicsServer2D.FreeRid(shapeRid);
[/csharp]
[/codeblocks]
2018-01-11 22:38:35 +00:00
</member>
2019-09-24 17:45:03 +00:00
<member name= "transform" type= "Transform2D" setter= "set_transform" getter= "get_transform" default= "Transform2D(1, 0, 0, 1, 0, 0)" >
2019-12-09 14:16:28 +00:00
The queried shape's transform matrix.
2018-01-11 22:38:35 +00:00
</member>
</members>
2017-09-12 20:42:36 +00:00
</class>