> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).

# Class ksSweepSlideParams

Namespace: [KS.Reactor](/reactor/api-reference/ks.reactor.md)\
Assembly: KSCommon.dll

Paramters for sweep-and-slide movement. When a sweep hits something, the remaining movement vector is projected onto the plane perpendicuar to the surface normal to get a new movement vector which is used to sweep recursively.

```csharp
public class ksSweepSlideParams : ksSweepParams
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) â† [ksBaseQueryParams](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md) â† [ksOverlapParams](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md) â† [ksSweepParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepparams.md) â† [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md)

#### Inherited Members

[ksSweepParams.Distance](/reactor/api-reference/ks.reactor/ks.reactor.kssweepparams.md#KS_Reactor_ksSweepParams_Distance), [ksSweepParams.QueryType](/reactor/api-reference/ks.reactor/ks.reactor.kssweepparams.md#KS_Reactor_ksSweepParams_QueryType), [ksSweepParams.Direction](/reactor/api-reference/ks.reactor/ks.reactor.kssweepparams.md#KS_Reactor_ksSweepParams_Direction), [ksSweepParams.End](/reactor/api-reference/ks.reactor/ks.reactor.kssweepparams.md#KS_Reactor_ksSweepParams_End), [ksSweepParams.CopyTo(ksSweepParams)](/reactor/api-reference/ks.reactor/ks.reactor.kssweepparams.md#KS_Reactor_ksSweepParams_CopyTo_KS_Reactor_ksSweepParams_), [ksOverlapParams.m\_queryObject](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_m_queryObject), [ksOverlapParams.m\_queryObjectType](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_m_queryObjectType), [ksOverlapParams.m\_origin](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_m_origin), [ksOverlapParams.m\_rotation](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_m_rotation), [ksOverlapParams.EntityColliderFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_EntityColliderFilter), [ksOverlapParams.UseEntityPosition](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_UseEntityPosition), [ksOverlapParams.UseEntityRotation](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_UseEntityRotation), [ksOverlapParams.QueryType](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_QueryType), [ksOverlapParams.Shape](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_Shape), [ksOverlapParams.Entity](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_Entity), [ksOverlapParams.Collider](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_Collider), [ksOverlapParams.QueryObject](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_QueryObject), [ksOverlapParams.Origin](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_Origin), [ksOverlapParams.Rotation](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_Rotation), [ksOverlapParams.ObjectType](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_ObjectType), [ksOverlapParams.Validate(bool)](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_Validate_System_Boolean_), [ksOverlapParams.CopyTo(ksOverlapParams)](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md#KS_Reactor_ksOverlapParams_CopyTo_KS_Reactor_ksOverlapParams_), [ksBaseQueryParams.Origin](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_Origin), [ksBaseQueryParams.Filter](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_Filter), [ksBaseQueryParams.ExcludeEntity](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_ExcludeEntity), [ksBaseQueryParams.Flags](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_Flags), [ksBaseQueryParams.QueryType](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_QueryType), [ksBaseQueryParams.ObjectType](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_ObjectType), [ksBaseQueryParams.Validate(bool)](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_Validate_System_Boolean_), [ksBaseQueryParams.CopyTo(ksBaseQueryParams)](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_CopyTo_KS_Reactor_ksBaseQueryParams_), [object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Constructors

### ksSweepSlideParams() <a href="#ks_reactor_kssweepslideparams__ctor" id="ks_reactor_kssweepslideparams__ctor"></a>

Constructor

```csharp
public ksSweepSlideParams()
```

### ksSweepSlideParams(ksShape, ksVector3, ksQuaternion, ksVector3, float, ksIQueryFilter, ksIEntity, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksshape_ks_reactor_ksvector3_ks_reactor_ksquaternion" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksshape_ks_reactor_ksvector3_ks_reactor_ksquaternion"></a>

Construct a shape sweep using an origin point, direction and distance.

```csharp
public ksSweepSlideParams(ksShape shape, ksVector3 origin, ksQuaternion rotation, ksVector3 direction, float distance, ksIQueryFilter filter = null, ksIEntity excludeEntity = null, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`shape` [ksShape](/reactor/api-reference/ks.reactor/ks.reactor.ksshape.md)

Sweep shape

`origin` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep origin

`rotation` [ksQuaternion](/reactor/api-reference/ks.reactor/ks.reactor.ksquaternion.md)

Shape rotation

`direction` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep direction

`distance` [float](https://learn.microsoft.com/dotnet/api/system.single)

Sweep distance

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`excludeEntity` [ksIEntity](/reactor/api-reference/ks.reactor/ks.reactor.ksientity.md)

Exclude this entity from results.

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksShape, ksVector3, ksVector3, ksQuaternion, ksIQueryFilter, ksIEntity, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksshape_ks_reactor_ksvector3_ks_reactor_ksvector3_ks" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksshape_ks_reactor_ksvector3_ks_reactor_ksvector3_ks"></a>

Construct a shape sweep using an origin and end point.

```csharp
public ksSweepSlideParams(ksShape shape, ksVector3 origin, ksVector3 end, ksQuaternion rotation, ksIQueryFilter filter = null, ksIEntity excludeEntity = null, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`shape` [ksShape](/reactor/api-reference/ks.reactor/ks.reactor.ksshape.md)

Sweep shape

`origin` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep origin

`end` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep end point

`rotation` [ksQuaternion](/reactor/api-reference/ks.reactor/ks.reactor.ksquaternion.md)

Shape rotation

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`excludeEntity` [ksIEntity](/reactor/api-reference/ks.reactor/ks.reactor.ksientity.md)

Exclude this entity from results.

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksIEntity, ksVector3, float, ksIQueryFilter, ksIEntityQueryColliderFilter, bool, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_system_single_ks_react" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_system_single_ks_react"></a>

Construct an entity sweep from the entity position and sweeping over a direction and distance.

```csharp
public ksSweepSlideParams(ksIEntity entity, ksVector3 direction, float distance, ksIQueryFilter filter = null, ksIEntityQueryColliderFilter colliderFilter = null, bool excludeSelf = true, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`entity` [ksIEntity](/reactor/api-reference/ks.reactor/ks.reactor.ksientity.md)

Sweep entity

`direction` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep direction

`distance` [float](https://learn.microsoft.com/dotnet/api/system.single)

Sweep distance

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`colliderFilter` [ksIEntityQueryColliderFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksientityquerycolliderfilter.md)

Query collider filter for filtering which of the entity's colliders to query with.

`excludeSelf` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Should `entity` be excluded from results?

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksIEntity, ksVector3, ksIQueryFilter, ksIEntityQueryColliderFilter, bool, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_ks_reactor_ksiqueryfil" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_ks_reactor_ksiqueryfil"></a>

Construct an entity sweep from the entity position and sweeping to an end point.

```csharp
public ksSweepSlideParams(ksIEntity entity, ksVector3 end, ksIQueryFilter filter = null, ksIEntityQueryColliderFilter colliderFilter = null, bool excludeSelf = true, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`entity` [ksIEntity](/reactor/api-reference/ks.reactor/ks.reactor.ksientity.md)

Sweep entity

`end` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep end point

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`colliderFilter` [ksIEntityQueryColliderFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksientityquerycolliderfilter.md)

Query collider filter for filtering which of the entity's colliders to query with.

`excludeSelf` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Should `entity` be excluded from results?

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksIEntity, ksVector3, ksQuaternion, ksVector3, float, ksIQueryFilter, ksIEntityQueryColliderFilter, bool, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_ks_reactor_ksquaternio" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_ks_reactor_ksquaternio"></a>

Construct an entity sweep from a specified origin and rotation and sweeping over a direction and distance.

```csharp
public ksSweepSlideParams(ksIEntity entity, ksVector3 origin, ksQuaternion rotation, ksVector3 direction, float distance, ksIQueryFilter filter = null, ksIEntityQueryColliderFilter colliderFilter = null, bool excludeSelf = true, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`entity` [ksIEntity](/reactor/api-reference/ks.reactor/ks.reactor.ksientity.md)

Sweep entity

`origin` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep origin

`rotation` [ksQuaternion](/reactor/api-reference/ks.reactor/ks.reactor.ksquaternion.md)

Sweep rotation

`direction` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep direction

`distance` [float](https://learn.microsoft.com/dotnet/api/system.single)

Sweep distance

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`colliderFilter` [ksIEntityQueryColliderFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksientityquerycolliderfilter.md)

Query collider filter for filtering which of the entity's colliders to query with.

`excludeSelf` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Should `entity` be excluded from results?

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksIEntity, ksVector3, ksVector3, ksQuaternion, ksIQueryFilter, ksIEntityQueryColliderFilter, bool, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_ks_reactor_ksvector3_k" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_ks_reactor_ksvector3_k"></a>

Construct an entity sweep from a specified origin and rotation and sweeping to an end point.

```csharp
public ksSweepSlideParams(ksIEntity entity, ksVector3 origin, ksVector3 end, ksQuaternion rotation, ksIQueryFilter filter = null, ksIEntityQueryColliderFilter colliderFilter = null, bool excludeSelf = true, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`entity` [ksIEntity](/reactor/api-reference/ks.reactor/ks.reactor.ksientity.md)

Sweep entity

`origin` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep origin

`end` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep end point

`rotation` [ksQuaternion](/reactor/api-reference/ks.reactor/ks.reactor.ksquaternion.md)

Sweep rotation

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`colliderFilter` [ksIEntityQueryColliderFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksientityquerycolliderfilter.md)

Query collider filter for filtering which of the entity's colliders to query with.

`excludeSelf` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Should `entity` be excluded from results?

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksICollider, ksVector3, float, ksIQueryFilter, bool, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_system_single_ks_rea" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_system_single_ks_rea"></a>

Construct a collider sweep from the entity position and sweeping over a direction and distance.

```csharp
public ksSweepSlideParams(ksICollider collider, ksVector3 direction, float distance, ksIQueryFilter filter = null, bool excludeColliderEntity = true, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`collider` [ksICollider](/reactor/api-reference/ks.reactor/ks.reactor.ksicollider.md)

Sweep collider

`direction` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep direction

`distance` [float](https://learn.microsoft.com/dotnet/api/system.single)

Sweep distance

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`excludeColliderEntity` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Should `collider`'s entity be excluded from results?

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksICollider, ksVector3, ksIQueryFilter, bool, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_ks_reactor_ksiqueryf" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_ks_reactor_ksiqueryf"></a>

Construct a collider sweep from the entity position and sweeping to an end point.

```csharp
public ksSweepSlideParams(ksICollider collider, ksVector3 end, ksIQueryFilter filter = null, bool excludeColliderEntity = true, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`collider` [ksICollider](/reactor/api-reference/ks.reactor/ks.reactor.ksicollider.md)

Sweep collider

`end` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep end point

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`excludeColliderEntity` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Should `collider`'s entity be excluded from results?

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksICollider, ksVector3, ksQuaternion, ksVector3, float, ksIQueryFilter, bool, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_ks_reactor_ksquatern" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_ks_reactor_ksquatern"></a>

Construct a collider sweep from a specified origin and rotation and sweeping over a direction and distance.

```csharp
public ksSweepSlideParams(ksICollider collider, ksVector3 origin, ksQuaternion rotation, ksVector3 direction, float distance, ksIQueryFilter filter = null, bool excludeColliderEntity = true, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`collider` [ksICollider](/reactor/api-reference/ks.reactor/ks.reactor.ksicollider.md)

Sweep collider

`origin` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep origin

`rotation` [ksQuaternion](/reactor/api-reference/ks.reactor/ks.reactor.ksquaternion.md)

Sweep rotation

`direction` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep direction

`distance` [float](https://learn.microsoft.com/dotnet/api/system.single)

Sweep distance

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`excludeColliderEntity` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Should `collider`'s entity be excluded from results?

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

### ksSweepSlideParams(ksICollider, ksVector3, ksVector3, ksQuaternion, ksIQueryFilter, bool, ksQueryFlags, float, float, float, int, CollideHandler) <a href="#ks_reactor_kssweepslideparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_ks_reactor_ksvector3" id="ks_reactor_kssweepslideparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_ks_reactor_ksvector3"></a>

Construct a collider sweep from a specified origin and rotation and sweeping to an end point.

```csharp
public ksSweepSlideParams(ksICollider collider, ksVector3 origin, ksVector3 end, ksQuaternion rotation, ksIQueryFilter filter = null, bool excludeColliderEntity = true, ksQueryFlags flags = ksQueryFlags.DEFAULT, float maxSlideAngle = -1, float maxTotalSlideAngle = 90, float separationOffset = 0.0001, int maxIterations = 4, ksSweepSlideParams.CollideHandler collideCallback = null)
```

#### Parameters

`collider` [ksICollider](/reactor/api-reference/ks.reactor/ks.reactor.ksicollider.md)

Sweep collider

`origin` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep origin

`end` [ksVector3](/reactor/api-reference/ks.reactor/ks.reactor.ksvector3.md)

Sweep end point

`rotation` [ksQuaternion](/reactor/api-reference/ks.reactor/ks.reactor.ksquaternion.md)

Sweep rotation

`filter` [ksIQueryFilter](/reactor/api-reference/ks.reactor/ks.reactor.ksiqueryfilter.md)

Query filter for filtering results.

`excludeColliderEntity` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Should `collider`'s entity be excluded from results?

`flags` [ksQueryFlags](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryflags.md)

Query flags for filtering results.

`maxSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`maxTotalSlideAngle` [float](https://learn.microsoft.com/dotnet/api/system.single)

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

`separationOffset` [float](https://learn.microsoft.com/dotnet/api/system.single)

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

`maxIterations` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Maximum number of sweep-and-slide iterations.

`collideCallback` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

## Fields

### CollideCallback <a href="#ks_reactor_kssweepslideparams_collidecallback" id="ks_reactor_kssweepslideparams_collidecallback"></a>

Callback to call for each object collided with during the sweep and slide. Return false to prevent further sweep-and-slide movement.

```csharp
public ksSweepSlideParams.CollideHandler CollideCallback
```

#### Field Value

[ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md).[CollideHandler](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams/ks.reactor.kssweepslideparams.collidehandler.md)

### MAX\_ITERATIONS <a href="#ks_reactor_kssweepslideparams_max_iterations" id="ks_reactor_kssweepslideparams_max_iterations"></a>

Default value for [MaxIterations](#KS_Reactor_ksSweepSlideParams_MaxIterations)

```csharp
public const int MAX_ITERATIONS = 4
```

#### Field Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### MAX\_SLIDE\_ANGLE <a href="#ks_reactor_kssweepslideparams_max_slide_angle" id="ks_reactor_kssweepslideparams_max_slide_angle"></a>

Default value for [MaxSlideAngle](#KS_Reactor_ksSweepSlideParams_MaxSlideAngle)

```csharp
public const float MAX_SLIDE_ANGLE = -1
```

#### Field Value

[float](https://learn.microsoft.com/dotnet/api/system.single)

### MAX\_TOTAL\_SLIDE\_ANGLE <a href="#ks_reactor_kssweepslideparams_max_total_slide_angle" id="ks_reactor_kssweepslideparams_max_total_slide_angle"></a>

Default value for [MaxTotalSlideAngle](#KS_Reactor_ksSweepSlideParams_MaxTotalSlideAngle)

```csharp
public const float MAX_TOTAL_SLIDE_ANGLE = 90
```

#### Field Value

[float](https://learn.microsoft.com/dotnet/api/system.single)

### MaxIterations <a href="#ks_reactor_kssweepslideparams_maxiterations" id="ks_reactor_kssweepslideparams_maxiterations"></a>

Maximum number of sweep-and-slide iterations. One to stop after the first sweep without sliding.

```csharp
public int MaxIterations
```

#### Field Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### SEPARATION\_OFFSET <a href="#ks_reactor_kssweepslideparams_separation_offset" id="ks_reactor_kssweepslideparams_separation_offset"></a>

Default value for [SeparationOffset](#KS_Reactor_ksSweepSlideParams_SeparationOffset)

```csharp
public const float SEPARATION_OFFSET = 0.0001
```

#### Field Value

[float](https://learn.microsoft.com/dotnet/api/system.single)

### SeparationOffset <a href="#ks_reactor_kssweepslideparams_separationoffset" id="ks_reactor_kssweepslideparams_separationoffset"></a>

When the sweep hits something, offset the position by this much in the direction of the surface normal. Helps prevent penetrations.

```csharp
public float SeparationOffset
```

#### Field Value

[float](https://learn.microsoft.com/dotnet/api/system.single)

## Properties

### CosMaxSlideAngle <a href="#ks_reactor_kssweepslideparams_cosmaxslideangle" id="ks_reactor_kssweepslideparams_cosmaxslideangle"></a>

Cosine of [MaxSlideAngle](#KS_Reactor_ksSweepSlideParams_MaxSlideAngle). NaN if [MaxSlideAngle](#KS_Reactor_ksSweepSlideParams_MaxSlideAngle) is negative.

```csharp
public float CosMaxSlideAngle { get; }
```

#### Property Value

[float](https://learn.microsoft.com/dotnet/api/system.single)

### CosMaxTotalSlideAngle <a href="#ks_reactor_kssweepslideparams_cosmaxtotalslideangle" id="ks_reactor_kssweepslideparams_cosmaxtotalslideangle"></a>

Cosine of [MaxTotalSlideAngle](#KS_Reactor_ksSweepSlideParams_MaxTotalSlideAngle). NaN if [MaxTotalSlideAngle](#KS_Reactor_ksSweepSlideParams_MaxTotalSlideAngle) is negative.

```csharp
public float CosMaxTotalSlideAngle { get; }
```

#### Property Value

[float](https://learn.microsoft.com/dotnet/api/system.single)

### MaxSlideAngle <a href="#ks_reactor_kssweepslideparams_maxslideangle" id="ks_reactor_kssweepslideparams_maxslideangle"></a>

Do not allow slides that change the movement direction by more than this angle in degrees. Less than zero for no limit.

```csharp
public float MaxSlideAngle { get; set; }
```

#### Property Value

[float](https://learn.microsoft.com/dotnet/api/system.single)

### MaxTotalSlideAngle <a href="#ks_reactor_kssweepslideparams_maxtotalslideangle" id="ks_reactor_kssweepslideparams_maxtotalslideangle"></a>

Do not allow sliding in a direction that differs from the original direction by more than this angle in degrees. Less than zero for no limit.

```csharp
public float MaxTotalSlideAngle { get; set; }
```

#### Property Value

[float](https://learn.microsoft.com/dotnet/api/system.single)

## Methods

### CopyTo(ksSweepSlideParams) <a href="#ks_reactor_kssweepslideparams_copyto_ks_reactor_kssweepslideparams" id="ks_reactor_kssweepslideparams_copyto_ks_reactor_kssweepslideparams"></a>

Copies the values from this object to the `target`.

```csharp
public void CopyTo(ksSweepSlideParams target)
```

#### Parameters

`target` [ksSweepSlideParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepslideparams.md)

Target to copy to.
