Skip to content

PhysicsWorld.RaycastAll Method

Definition

Namespace: Brine2D.Physics

Overloads
RaycastAll(Vector2, Vector2, float, List<RaycastHit>, Nullable<PhysicsQueryFilter>) Casts a ray and returns all hits (deduplicated by body, sorted nearest-first) into results. Unlike the System.Span<> overloads, this variant retries with a larger internal buffer if needed and is guaranteed to return every hit. Clears results before writing.
RaycastAll(Vector2, Vector2, float, Span<RaycastHit>, bool, Nullable<PhysicsQueryFilter>) Casts a ray and returns all hits sorted by distance, deduplicated by body (one entry per body), written into the caller-provided buffer. Use RaycastAllShapes(Vector2, Vector2, float, Span<RaycastHit>, bool, Nullable<PhysicsQueryFilter>) when you need per-shape granularity on compound bodies.
RaycastAll(Vector2, Vector2, float, Span<RaycastHit>, Nullable<PhysicsQueryFilter>) Casts a ray and returns all hits sorted by distance, deduplicated by body (one entry per body), written into the caller-provided buffer. Use RaycastAllShapes(Vector2, Vector2, float, Span<RaycastHit>, bool, Nullable<PhysicsQueryFilter>) when you need per-shape granularity on compound bodies.

PhysicsWorld.RaycastAll(Vector2, Vector2, float, List\<RaycastHit>, Nullable\<PhysicsQueryFilter>) Method

Casts a ray and returns all hits (deduplicated by body, sorted nearest-first) into results. Unlike the System.Span<> overloads, this variant retries with a larger internal buffer if needed and is guaranteed to return every hit. Clears results before writing.

public void RaycastAll(System.Numerics.Vector2 origin, System.Numerics.Vector2 direction, float maxDistance, System.Collections.Generic.List<Brine2D.Physics.RaycastHit> results, System.Nullable<Brine2D.Physics.PhysicsQueryFilter> filter=null);

Parameters

origin System.Numerics.Vector2

direction System.Numerics.Vector2

maxDistance System.Single

results System.Collections.Generic.List<RaycastHit>

filter System.Nullable<PhysicsQueryFilter>

PhysicsWorld.RaycastAll(Vector2, Vector2, float, Span\<RaycastHit>, bool, Nullable\<PhysicsQueryFilter>) Method

Casts a ray and returns all hits sorted by distance, deduplicated by body (one entry per body), written into the caller-provided buffer. Use RaycastAllShapes(Vector2, Vector2, float, Span<RaycastHit>, bool, Nullable<PhysicsQueryFilter>) when you need per-shape granularity on compound bodies.

public int RaycastAll(System.Numerics.Vector2 origin, System.Numerics.Vector2 direction, float maxDistance, System.Span<Brine2D.Physics.RaycastHit> results, out bool wasTruncated, System.Nullable<Brine2D.Physics.PhysicsQueryFilter> filter=null);

Parameters

origin System.Numerics.Vector2

Ray start in pixel coordinates.

direction System.Numerics.Vector2

Ray direction (does not need to be normalized). Must be non-zero.

maxDistance System.Single

Maximum ray length in pixels.

results System.Span<RaycastHit>

Buffer to receive hits. One entry per body, sorted nearest-first.

wasTruncated System.Boolean

Set to true when the internal collection buffer was too small.

filter System.Nullable<PhysicsQueryFilter>

Optional query filter.

Returns

System.Int32
Number of hits written to results.

Exceptions

System.ArgumentException
Thrown when direction is zero.

Remarks

The internal collection buffer is sized to results.Length * 8. If more shapes than that overlap the ray, collection stops early and wasTruncated is set to true. Provide a larger buffer to increase capacity.

PhysicsWorld.RaycastAll(Vector2, Vector2, float, Span\<RaycastHit>, Nullable\<PhysicsQueryFilter>) Method

Casts a ray and returns all hits sorted by distance, deduplicated by body (one entry per body), written into the caller-provided buffer. Use RaycastAllShapes(Vector2, Vector2, float, Span<RaycastHit>, bool, Nullable<PhysicsQueryFilter>) when you need per-shape granularity on compound bodies.

public int RaycastAll(System.Numerics.Vector2 origin, System.Numerics.Vector2 direction, float maxDistance, System.Span<Brine2D.Physics.RaycastHit> results, System.Nullable<Brine2D.Physics.PhysicsQueryFilter> filter=null);

Parameters

origin System.Numerics.Vector2

Ray start in pixel coordinates.

direction System.Numerics.Vector2

Ray direction (does not need to be normalized). Must be non-zero.

maxDistance System.Single

Maximum ray length in pixels.

results System.Span<RaycastHit>

Buffer to receive hits. One entry per body, sorted nearest-first.

filter System.Nullable<PhysicsQueryFilter>

Optional query filter.

Returns

System.Int32
Number of hits written to results.

Exceptions

System.ArgumentException
Thrown when direction is zero.

Remarks

The internal collection buffer is sized to results.Length * 8. If more shapes than that overlap the ray, collection stops early and wasTruncated is set to true. Provide a larger buffer to increase capacity.