# CastGeometry

> Returns the shape(s) that intersect the specified Circle geometry as it is cast through the world. See PhysicsQuery.QueryFilter, PhysicsQuery.WorldCastMode, PhysicsQuery.WorldCastResult and Allocator

## Definition

* **Type:** Method
* **Namespace:** [Unity.U2D.Physics](/engine/6000.6/script-reference/unity/u2d/physics.md)
* **Assembly:** UnityEngine.PhysicsCore2DModule

## CastGeometry(CircleGeometry, Vector2, QueryFilter, WorldCastMode, Allocator)

Returns the shape(s) that intersect the specified Circle geometry as it is cast through the world. See [PhysicsQuery.QueryFilter](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/queryfilter.md), [PhysicsQuery.WorldCastMode](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastmode.md), [PhysicsQuery.WorldCastResult](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastresult.md) and [Allocator](/engine/6000.6/script-reference/unity/collections/allocator.md)

```csharp
public NativeArray<PhysicsQuery.WorldCastResult> CastGeometry(CircleGeometry geometry, Vector2 translation, PhysicsQuery.QueryFilter filter, PhysicsQuery.WorldCastMode castMode = WorldCastMode.Closest, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[CircleGeometry]\(/engine/6000.6/script-reference/unity/u2d/physics/circlegeometry)): The Circle geometry used to cast through the world. This must be in world-space.**** (\[Vector2]\(/engine/6000.6/script-reference/unityengine/vector2)): The translation relative to the geometry defining the direction the geometry will move through the world.**** (\[QueryFilter]\(/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/queryfilter)): The filter to control what results are returned.**** (\[WorldCastMode]\(/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastmode)): Controls how many and in what order the results are returned.**** (\[Allocator]\(/engine/6000.6/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.6/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.6/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.6/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                               | Description                                                                                                                                        |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<WorldCastResult>](/engine/6000.6/script-reference/unity/collections/nativearray1.md) | The query cast results. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |

## CastGeometry(CapsuleGeometry, Vector2, QueryFilter, WorldCastMode, Allocator)

Returns the shape(s) that intersect the specified Capsule geometry as it is cast through the world. See [PhysicsQuery.QueryFilter](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/queryfilter.md), [PhysicsQuery.WorldCastMode](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastmode.md), [PhysicsQuery.WorldCastResult](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastresult.md) and [Allocator](/engine/6000.6/script-reference/unity/collections/allocator.md).

```csharp
public NativeArray<PhysicsQuery.WorldCastResult> CastGeometry(CapsuleGeometry geometry, Vector2 translation, PhysicsQuery.QueryFilter filter, PhysicsQuery.WorldCastMode castMode = WorldCastMode.Closest, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[CapsuleGeometry]\(/engine/6000.6/script-reference/unity/u2d/physics/capsulegeometry)): The Capsule geometry used to cast through the world. This must be in world-space.**** (\[Vector2]\(/engine/6000.6/script-reference/unityengine/vector2)): The translation relative to the geometry defining the direction the geometry will move through the world.**** (\[QueryFilter]\(/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/queryfilter)): The filter to control what results are returned.**** (\[WorldCastMode]\(/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastmode)): Controls how many and in what order the results are returned.**** (\[Allocator]\(/engine/6000.6/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.6/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.6/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.6/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                               | Description                                                                                                                                        |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<WorldCastResult>](/engine/6000.6/script-reference/unity/collections/nativearray1.md) | The query cast results. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |

## CastGeometry(PolygonGeometry, Vector2, QueryFilter, WorldCastMode, Allocator)

Returns the shape(s) that intersect the specified Polygon geometry as it is cast through the world. See [PhysicsQuery.QueryFilter](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/queryfilter.md), [PhysicsQuery.WorldCastMode](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastmode.md), [PhysicsQuery.WorldCastResult](/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastresult.md) and [Allocator](/engine/6000.6/script-reference/unity/collections/allocator.md).

```csharp
public NativeArray<PhysicsQuery.WorldCastResult> CastGeometry(PolygonGeometry geometry, Vector2 translation, PhysicsQuery.QueryFilter filter, PhysicsQuery.WorldCastMode castMode = WorldCastMode.Closest, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[PolygonGeometry]\(/engine/6000.6/script-reference/unity/u2d/physics/polygongeometry)): The Polygon geometry used to cast through the world. This must be in world-space.**** (\[Vector2]\(/engine/6000.6/script-reference/unityengine/vector2)): The translation relative to the geometry defining the direction the geometry will move through the world.**** (\[QueryFilter]\(/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/queryfilter)): The filter to control what results are returned.**** (\[WorldCastMode]\(/engine/6000.6/script-reference/unity/u2d/physics/physicsquery/worldcastmode)): Controls how many and in what order the results are returned.**** (\[Allocator]\(/engine/6000.6/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.6/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.6/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.6/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                               | Description                                                                                                                                        |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<WorldCastResult>](/engine/6000.6/script-reference/unity/collections/nativearray1.md) | The query cast results. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |
