Physics2DDirectSpaceState

Direct access object to a space in the Physics2DServer.

It's used mainly to do queries against objects and areas residing in a given space.

Members

Aliases

BaseClasses
alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses)
Undocumented in source.

Functions

castMotion
Array castMotion(Physics2DShapeQueryParameters shape)

Checks how far a Shape2D can move without colliding. All the parameters for the query, including the shape and the motion, are supplied through a Physics2DShapeQueryParameters object. Returns an array with the safe and unsafe proportions (between 0 and 1) of the motion. The safe proportion is the maximum fraction of the motion that can be made without a collision. The unsafe proportion is the minimum fraction of the distance that must be moved for a collision. If no collision is detected a result of $(D 1.0, 1.0) will be returned. Note: Any Shape2Ds that the shape is already colliding with e.g. inside of, will be ignored. Use collideShape to determine the Shape2Ds that the shape is already colliding with.

collideShape
Array collideShape(Physics2DShapeQueryParameters shape, long max_results)

Checks the intersections of a shape, given through a Physics2DShapeQueryParameters object, against the space. The resulting array contains a list of points where the shape intersects another. Like with intersectShape, the number of returned results can be limited to save processing time.

getRestInfo
Dictionary getRestInfo(Physics2DShapeQueryParameters shape)

Checks the intersections of a shape, given through a Physics2DShapeQueryParameters object, against the space. If it collides with more than one shape, the nearest one is selected. If the shape did not intersect anything, then an empty dictionary is returned instead. Note: This method does not take into account the motion property of the object. The returned object is a dictionary containing the following fields: collider_id: The colliding object's ID. linear_velocity: The colliding object's velocity Vector2. If the object is an Area2D, the result is (0, 0). metadata: The intersecting shape's metadata. This metadata is different from GodotObject.getMeta, and is set with Physics2DServer.shapeSetData. normal: The object's surface normal at the intersection point. point: The intersection point. rid: The intersecting object's RID. shape: The shape index of the colliding shape.

intersectPoint
Array intersectPoint(Vector2 point, long max_results, Array exclude, long collision_layer, bool collide_with_bodies, bool collide_with_areas)

Checks whether a point is inside any solid shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: collider: The colliding object. collider_id: The colliding object's ID. metadata: The intersecting shape's metadata. This metadata is different from GodotObject.getMeta, and is set with Physics2DServer.shapeSetData. rid: The intersecting object's RID. shape: The shape index of the colliding shape. Additionally, the method can take an exclude array of objects or RIDs that are to be excluded from collisions, a collision_mask bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with PhysicsBodys or Areas, respectively. Note: ConcavePolygonShape2Ds and CollisionPolygon2Ds in Segments build mode are not solid shapes. Therefore, they will not be detected.

intersectPointOnCanvas
Array intersectPointOnCanvas(Vector2 point, long canvas_instance_id, long max_results, Array exclude, long collision_layer, bool collide_with_bodies, bool collide_with_areas)
intersectRay
Dictionary intersectRay(Vector2 from, Vector2 to, Array exclude, long collision_layer, bool collide_with_bodies, bool collide_with_areas)

Intersects a ray in a given space. The returned object is a dictionary with the following fields: collider: The colliding object. collider_id: The colliding object's ID. metadata: The intersecting shape's metadata. This metadata is different from GodotObject.getMeta, and is set with Physics2DServer.shapeSetData. normal: The object's surface normal at the intersection point. position: The intersection point. rid: The intersecting object's RID. shape: The shape index of the colliding shape. If the ray did not intersect anything, then an empty dictionary is returned instead. Additionally, the method can take an exclude array of objects or RIDs that are to be excluded from collisions, a collision_mask bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with PhysicsBodys or Areas, respectively.

intersectShape
Array intersectShape(Physics2DShapeQueryParameters shape, long max_results)

Checks the intersections of a shape, given through a Physics2DShapeQueryParameters object, against the space. Note: This method does not take into account the motion property of the object. The intersected shapes are returned in an array containing dictionaries with the following fields: collider: The colliding object. collider_id: The colliding object's ID. metadata: The intersecting shape's metadata. This metadata is different from GodotObject.getMeta, and is set with Physics2DServer.shapeSetData. rid: The intersecting object's RID. shape: The shape index of the colliding shape. The number of intersections can be limited with the max_results parameter, to reduce the processing time.

opAssign
typeof(null) opAssign(typeof(null) n)
opEquals
bool opEquals(Physics2DDirectSpaceState other)
opEquals
bool opEquals(typeof(null) n)
toHash
size_t toHash()

Mixins

__anonymous
mixin baseCasts
Undocumented in source.

Static functions

_new
Physics2DDirectSpaceState _new()

Construct a new instance of Physics2DDirectSpaceState. Note: use memnew!Physics2DDirectSpaceState instead.

Static variables

_classBindingInitialized
bool _classBindingInitialized;
Undocumented in source.

Structs

GDNativeClassBinding
struct GDNativeClassBinding
Undocumented in source.

Unions

__anonymous
union __anonymous
Undocumented in source.

Variables

_GODOT_internal_name
enum string _GODOT_internal_name;
Undocumented in source.

Mixed In Members

From mixin baseCasts

as
inout(To) as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
inout(To) as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
inout(ToRef) as()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(ToRef)
Undocumented in source.
opCast
void* opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
godot_object opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
bool opCast()
Undocumented in source. Be warned that the author may not have intended to support it.

Meta