> 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.ksoverlapparams.md).

# Class ksOverlapParams

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

Parameters for overlap queries

```csharp
public class ksOverlapParams : ksBaseQueryParams
```

#### 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)

#### Derived

[ksSweepParams](/reactor/api-reference/ks.reactor/ks.reactor.kssweepparams.md)

#### Inherited Members

[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

### ksOverlapParams() <a href="#ks_reactor_ksoverlapparams__ctor" id="ks_reactor_ksoverlapparams__ctor"></a>

Constructor

```csharp
public ksOverlapParams()
```

### ksOverlapParams(ksVector3, ksQuaternion, ksIQueryFilter, ksIEntity, ksQueryFlags, bool, bool) <a href="#ks_reactor_ksoverlapparams__ctor_ks_reactor_ksvector3_ks_reactor_ksquaternion_ks_reactor_ksiqueryfil" id="ks_reactor_ksoverlapparams__ctor_ks_reactor_ksvector3_ks_reactor_ksquaternion_ks_reactor_ksiqueryfil"></a>

Private common constructor for all query object types

```csharp
protected ksOverlapParams(ksVector3 origin, ksQuaternion rotation, ksIQueryFilter filter, ksIEntity excludeEntity, ksQueryFlags flags, bool useEntityPosition = false, bool useEntityRotation = false)
```

#### Parameters

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

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

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

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

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

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

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

### ksOverlapParams(ksShape, ksVector3, ksQuaternion, ksIQueryFilter, ksIEntity, ksQueryFlags) <a href="#ks_reactor_ksoverlapparams__ctor_ks_reactor_ksshape_ks_reactor_ksvector3_ks_reactor_ksquaternion_ks" id="ks_reactor_ksoverlapparams__ctor_ks_reactor_ksshape_ks_reactor_ksvector3_ks_reactor_ksquaternion_ks"></a>

Constructor

```csharp
public ksOverlapParams(ksShape shape, ksVector3 origin, ksQuaternion rotation, ksIQueryFilter filter = null, ksIEntity excludeEntity = null, ksQueryFlags flags = ksQueryFlags.DEFAULT)
```

#### Parameters

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

Overlap shape

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

Overlap origin

`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.

### ksOverlapParams(ksIEntity, ksIQueryFilter, ksIEntityQueryColliderFilter, bool, ksQueryFlags) <a href="#ks_reactor_ksoverlapparams__ctor_ks_reactor_ksientity_ks_reactor_ksiqueryfilter_ks_reactor_ksientity" id="ks_reactor_ksoverlapparams__ctor_ks_reactor_ksientity_ks_reactor_ksiqueryfilter_ks_reactor_ksientity"></a>

Entity overlap which uses the pose of the entity when the query is performed.

```csharp
public ksOverlapParams(ksIEntity entity, ksIQueryFilter filter = null, ksIEntityQueryColliderFilter colliderFilter = null, bool excludeSelf = true, ksQueryFlags flags = ksQueryFlags.DEFAULT)
```

#### Parameters

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

Overlap entity

`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.

### ksOverlapParams(ksIEntity, ksVector3, ksQuaternion, ksIQueryFilter, ksIEntityQueryColliderFilter, bool, ksQueryFlags) <a href="#ks_reactor_ksoverlapparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_ks_reactor_ksquaternion_k" id="ks_reactor_ksoverlapparams__ctor_ks_reactor_ksientity_ks_reactor_ksvector3_ks_reactor_ksquaternion_k"></a>

Entity overlap which sets the pose;

```csharp
public ksOverlapParams(ksIEntity entity, ksVector3 origin, ksQuaternion rotation, ksIQueryFilter filter = null, ksIEntityQueryColliderFilter colliderFilter = null, bool excludeSelf = true, ksQueryFlags flags = ksQueryFlags.DEFAULT)
```

#### Parameters

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

Overlap entity

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

Overlap origin

`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.

`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.

### ksOverlapParams(ksICollider, ksIQueryFilter, bool, ksQueryFlags) <a href="#ks_reactor_ksoverlapparams__ctor_ks_reactor_ksicollider_ks_reactor_ksiqueryfilter_system_boolean_ks" id="ks_reactor_ksoverlapparams__ctor_ks_reactor_ksicollider_ks_reactor_ksiqueryfilter_system_boolean_ks"></a>

Collider overlap that uses the collider's entity's pose.

```csharp
public ksOverlapParams(ksICollider collider, ksIQueryFilter filter = null, bool excludeColliderEntity = true, ksQueryFlags flags = ksQueryFlags.DEFAULT)
```

#### Parameters

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

Overlap collider

`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.

### ksOverlapParams(ksICollider, ksVector3, ksQuaternion, ksIQueryFilter, bool, ksQueryFlags) <a href="#ks_reactor_ksoverlapparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_ks_reactor_ksquaternion" id="ks_reactor_ksoverlapparams__ctor_ks_reactor_ksicollider_ks_reactor_ksvector3_ks_reactor_ksquaternion"></a>

Collider overlap that sets the pose.

```csharp
public ksOverlapParams(ksICollider collider, ksVector3 origin, ksQuaternion rotation, ksIQueryFilter filter = null, bool excludeColliderEntity = true, ksQueryFlags flags = ksQueryFlags.DEFAULT)
```

#### Parameters

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

Overlap collider

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

Overlap origin

`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.

`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.

## Fields

### EntityColliderFilter <a href="#ks_reactor_ksoverlapparams_entitycolliderfilter" id="ks_reactor_ksoverlapparams_entitycolliderfilter"></a>

Collider filter for entity queries to determine which of the entity's colliders to run queries for. Only used for entity queries.

```csharp
public ksIEntityQueryColliderFilter EntityColliderFilter
```

#### Field Value

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

### UseEntityPosition <a href="#ks_reactor_ksoverlapparams_useentityposition" id="ks_reactor_ksoverlapparams_useentityposition"></a>

If true, the position of the entity will be used in place of an explicit origin or rotation. This value does not affect ksShape overlap objects.

```csharp
public bool UseEntityPosition
```

#### Field Value

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

### UseEntityRotation <a href="#ks_reactor_ksoverlapparams_useentityrotation" id="ks_reactor_ksoverlapparams_useentityrotation"></a>

If true, the rotation of the entity will be used in place of an explicit origin or rotation. This value does not affect ksShape overlap objects.

```csharp
public bool UseEntityRotation
```

#### Field Value

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

### m\_origin <a href="#ks_reactor_ksoverlapparams_m_origin" id="ks_reactor_ksoverlapparams_m_origin"></a>

```csharp
protected ksVector3 m_origin
```

#### Field Value

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

### m\_queryObject <a href="#ks_reactor_ksoverlapparams_m_queryobject" id="ks_reactor_ksoverlapparams_m_queryobject"></a>

```csharp
protected object m_queryObject
```

#### Field Value

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

### m\_queryObjectType <a href="#ks_reactor_ksoverlapparams_m_queryobjecttype" id="ks_reactor_ksoverlapparams_m_queryobjecttype"></a>

```csharp
protected ksQueryObjectTypes m_queryObjectType
```

#### Field Value

[ksQueryObjectTypes](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryobjecttypes.md)

### m\_rotation <a href="#ks_reactor_ksoverlapparams_m_rotation" id="ks_reactor_ksoverlapparams_m_rotation"></a>

```csharp
protected ksQuaternion m_rotation
```

#### Field Value

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

## Properties

### Collider <a href="#ks_reactor_ksoverlapparams_collider" id="ks_reactor_ksoverlapparams_collider"></a>

Get/Set the [ksICollider](/reactor/api-reference/ks.reactor/ks.reactor.ksicollider.md)

```csharp
public ksICollider Collider { get; set; }
```

#### Property Value

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

### Entity <a href="#ks_reactor_ksoverlapparams_entity" id="ks_reactor_ksoverlapparams_entity"></a>

Get/Set the [ksIEntity](/reactor/api-reference/ks.reactor/ks.reactor.ksientity.md)

```csharp
public ksIEntity Entity { get; set; }
```

#### Property Value

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

### ObjectType <a href="#ks_reactor_ksoverlapparams_objecttype" id="ks_reactor_ksoverlapparams_objecttype"></a>

The object type used in the query.

```csharp
public override ksQueryObjectTypes ObjectType { get; }
```

#### Property Value

[ksQueryObjectTypes](/reactor/api-reference/ks.reactor/ks.reactor.ksqueryobjecttypes.md)

### Origin <a href="#ks_reactor_ksoverlapparams_origin" id="ks_reactor_ksoverlapparams_origin"></a>

Set/Get the query origin. When UseEntityPosition is false, queries using colliders will add the collider offset to the origin to determine the geometry positioning.

```csharp
public override ksVector3 Origin { get; set; }
```

#### Property Value

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

### QueryObject <a href="#ks_reactor_ksoverlapparams_queryobject" id="ks_reactor_ksoverlapparams_queryobject"></a>

Get/Set the object which defines the geomeetry being queried.

```csharp
public object QueryObject { get; set; }
```

#### Property Value

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

### QueryType <a href="#ks_reactor_ksoverlapparams_querytype" id="ks_reactor_ksoverlapparams_querytype"></a>

Query type

```csharp
public override ksQueryTypes QueryType { get; }
```

#### Property Value

[ksQueryTypes](/reactor/api-reference/ks.reactor/ks.reactor.ksquerytypes.md)

### Rotation <a href="#ks_reactor_ksoverlapparams_rotation" id="ks_reactor_ksoverlapparams_rotation"></a>

Set/Get the query rotation. When UseEntityRotation is false, queries using colliders will add the collider rotataion to this rotatation to determine the geometry positioning.

```csharp
public ksQuaternion Rotation { get; set; }
```

#### Property Value

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

### Shape <a href="#ks_reactor_ksoverlapparams_shape" id="ks_reactor_ksoverlapparams_shape"></a>

Get/Set the [ksShape](/reactor/api-reference/ks.reactor/ks.reactor.ksshape.md)

```csharp
public ksShape Shape { get; set; }
```

#### Property Value

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

## Methods

### CopyTo(ksOverlapParams) <a href="#ks_reactor_ksoverlapparams_copyto_ks_reactor_ksoverlapparams" id="ks_reactor_ksoverlapparams_copyto_ks_reactor_ksoverlapparams"></a>

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

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

#### Parameters

`target` [ksOverlapParams](/reactor/api-reference/ks.reactor/ks.reactor.ksoverlapparams.md)

Target to copy to.

### Validate(bool) <a href="#ks_reactor_ksoverlapparams_validate_system_boolean" id="ks_reactor_ksoverlapparams_validate_system_boolean"></a>

Checks if the parameters are valid. The parameters are invalid if [Shape](#KS_Reactor_ksOverlapParams_Shape) is null or if [Filter](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_Filter) is a [ksCollisionFilter](/reactor/api-reference/ks.reactor/ks.reactor.kscollisionfilter.md)

```csharp
public override bool Validate(bool log = true)
```

#### Parameters

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

If true, logs warnings describing what is invalid if anything is invalid.

#### Returns

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

True if the params are valid.
