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

# Class ksRaycastParams

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

Parameters for raycast queries.

```csharp
public class ksRaycastParams : ksBaseQueryParams
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) â† [ksBaseQueryParams](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md) â† [ksRaycastParams](/reactor/api-reference/ks.reactor/ks.reactor.ksraycastparams.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

### ksRaycastParams() <a href="#ks_reactor_ksraycastparams__ctor" id="ks_reactor_ksraycastparams__ctor"></a>

Constructor

```csharp
public ksRaycastParams()
```

### ksRaycastParams(ksVector3, ksVector3, float, ksIQueryFilter, ksIEntity, ksQueryFlags) <a href="#ks_reactor_ksraycastparams__ctor_ks_reactor_ksvector3_ks_reactor_ksvector3_system_single_ks_reactor" id="ks_reactor_ksraycastparams__ctor_ks_reactor_ksvector3_ks_reactor_ksvector3_system_single_ks_reactor"></a>

Constructor

```csharp
public ksRaycastParams(ksVector3 origin, ksVector3 direction, float distance, ksIQueryFilter filter = null, ksIEntity excludeEntity = null, ksQueryFlags flags = ksQueryFlags.DEFAULT)
```

#### Parameters

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

Raycast origin

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

Raycast direction

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

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

### ksRaycastParams(ksVector3, ksVector3, ksIQueryFilter, ksIEntity, ksQueryFlags) <a href="#ks_reactor_ksraycastparams__ctor_ks_reactor_ksvector3_ks_reactor_ksvector3_ks_reactor_ksiqueryfilter" id="ks_reactor_ksraycastparams__ctor_ks_reactor_ksvector3_ks_reactor_ksvector3_ks_reactor_ksiqueryfilter"></a>

Constructor

```csharp
public ksRaycastParams(ksVector3 origin, ksVector3 end, ksIQueryFilter filter = null, ksIEntity excludeEntity = null, ksQueryFlags flags = ksQueryFlags.DEFAULT)
```

#### Parameters

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

Raycast origin

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

Raycast end point

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

## Fields

### Distance <a href="#ks_reactor_ksraycastparams_distance" id="ks_reactor_ksraycastparams_distance"></a>

Raycast distance

```csharp
public float Distance
```

#### Field Value

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

## Properties

### Direction <a href="#ks_reactor_ksraycastparams_direction" id="ks_reactor_ksraycastparams_direction"></a>

Raycast direction

```csharp
public ksVector3 Direction { get; set; }
```

#### Property Value

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

### End <a href="#ks_reactor_ksraycastparams_end" id="ks_reactor_ksraycastparams_end"></a>

The end-point of the raycast.

```csharp
public ksVector3 End { get; set; }
```

#### Property Value

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

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

Raycast origin

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

#### Property Value

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

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

Query type

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

#### Property Value

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

## Methods

### CopyTo(ksRaycastParams) <a href="#ks_reactor_ksraycastparams_copyto_ks_reactor_ksraycastparams" id="ks_reactor_ksraycastparams_copyto_ks_reactor_ksraycastparams"></a>

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

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

#### Parameters

`target` [ksRaycastParams](/reactor/api-reference/ks.reactor/ks.reactor.ksraycastparams.md)

Target to copy to.

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

Checks if the parameters are valid. The parameters are invalid if [Filter](/reactor/api-reference/ks.reactor/ks.reactor.ksbasequeryparams.md#KS_Reactor_ksBaseQueryParams_Filter) is a [ksSimulationFilter](/reactor/api-reference/ks.reactor/ks.reactor.kssimulationfilter.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.
