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

# Class ksReadOnlyTransformExtension

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

Extension methods for [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

```csharp
public static class ksReadOnlyTransformExtension
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) â† [ksReadOnlyTransformExtension](/reactor/api-reference/ks.reactor/ks.reactor.ksreadonlytransformextension.md)

#### Inherited Members

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

## Methods

### Backwards(ksIReadOnlyTransform) <a href="#ks_reactor_ksreadonlytransformextension_backwards_ks_reactor_ksireadonlytransform" id="ks_reactor_ksreadonlytransformextension_backwards_ks_reactor_ksireadonlytransform"></a>

Gets the local backwards direction.

```csharp
public static ksVector3 Backwards(this ksIReadOnlyTransform transform)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

#### Returns

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

Backwards

### Down(ksIReadOnlyTransform) <a href="#ks_reactor_ksreadonlytransformextension_down_ks_reactor_ksireadonlytransform" id="ks_reactor_ksreadonlytransformextension_down_ks_reactor_ksireadonlytransform"></a>

Gets the local down direction.

```csharp
public static ksVector3 Down(this ksIReadOnlyTransform transform)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

#### Returns

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

Down

### Forward(ksIReadOnlyTransform) <a href="#ks_reactor_ksreadonlytransformextension_forward_ks_reactor_ksireadonlytransform" id="ks_reactor_ksreadonlytransformextension_forward_ks_reactor_ksireadonlytransform"></a>

Gets the local forward direction.

```csharp
public static ksVector3 Forward(this ksIReadOnlyTransform transform)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

#### Returns

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

Forward

### Left(ksIReadOnlyTransform) <a href="#ks_reactor_ksreadonlytransformextension_left_ks_reactor_ksireadonlytransform" id="ks_reactor_ksreadonlytransformextension_left_ks_reactor_ksireadonlytransform"></a>

Gets the local left direction.

```csharp
public static ksVector3 Left(this ksIReadOnlyTransform transform)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

#### Returns

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

Left

### Right(ksIReadOnlyTransform) <a href="#ks_reactor_ksreadonlytransformextension_right_ks_reactor_ksireadonlytransform" id="ks_reactor_ksreadonlytransformextension_right_ks_reactor_ksireadonlytransform"></a>

Gets the local right direction.

```csharp
public static ksVector3 Right(this ksIReadOnlyTransform transform)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

#### Returns

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

Right

### ToLocal(ksIReadOnlyTransform, ksVector3, bool) <a href="#ks_reactor_ksreadonlytransformextension_tolocal_ks_reactor_ksireadonlytransform_ks_reactor_ksvector3" id="ks_reactor_ksreadonlytransformextension_tolocal_ks_reactor_ksireadonlytransform_ks_reactor_ksvector3"></a>

Converts a point from world space to local space.

```csharp
public static ksVector3 ToLocal(this ksIReadOnlyTransform transform, ksVector3 worldPosition, bool includeScale = true)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

Transform to use for conversion.

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

Point in world space.

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

Include tranform scaling in the conversion.

#### Returns

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

Point in local space.

### ToLocal(ksIReadOnlyTransform, ksQuaternion) <a href="#ks_reactor_ksreadonlytransformextension_tolocal_ks_reactor_ksireadonlytransform_ks_reactor_ksquatern" id="ks_reactor_ksreadonlytransformextension_tolocal_ks_reactor_ksireadonlytransform_ks_reactor_ksquatern"></a>

Converts a rotation from world space to local space.

```csharp
public static ksQuaternion ToLocal(this ksIReadOnlyTransform transform, ksQuaternion worldRotation)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

Transform to use for conversion.

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

Point in world space.

#### Returns

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

Point in local space.

### ToLocalDirection(ksIReadOnlyTransform, ksVector3, bool) <a href="#ks_reactor_ksreadonlytransformextension_tolocaldirection_ks_reactor_ksireadonlytransform_ks_reactor" id="ks_reactor_ksreadonlytransformextension_tolocaldirection_ks_reactor_ksireadonlytransform_ks_reactor"></a>

Converts a direction from world space to local space.

```csharp
public static ksVector3 ToLocalDirection(this ksIReadOnlyTransform transform, ksVector3 worldDirection, bool includeScale = true)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

Transform to use for conversion.

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

Direction in world space.

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

Include tranform scaling in the conversion.

#### Returns

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

Direction in local space.

### ToWorld(ksIReadOnlyTransform, ksVector3, bool) <a href="#ks_reactor_ksreadonlytransformextension_toworld_ks_reactor_ksireadonlytransform_ks_reactor_ksvector3" id="ks_reactor_ksreadonlytransformextension_toworld_ks_reactor_ksireadonlytransform_ks_reactor_ksvector3"></a>

Converts a point from local space to world space.

```csharp
public static ksVector3 ToWorld(this ksIReadOnlyTransform transform, ksVector3 localPosition, bool includeScale = true)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

Transform to use for conversion.

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

Point in local space.

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

Include tranform scaling in the conversion.

#### Returns

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

Point in world space.

### ToWorld(ksIReadOnlyTransform, ksQuaternion) <a href="#ks_reactor_ksreadonlytransformextension_toworld_ks_reactor_ksireadonlytransform_ks_reactor_ksquatern" id="ks_reactor_ksreadonlytransformextension_toworld_ks_reactor_ksireadonlytransform_ks_reactor_ksquatern"></a>

Converts a rotation from local space to world space.

```csharp
public static ksQuaternion ToWorld(this ksIReadOnlyTransform transform, ksQuaternion localRotation)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

Transform to use for conversion.

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

Point in local space.

#### Returns

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

Point in world space.

### ToWorldDirection(ksIReadOnlyTransform, ksVector3, bool) <a href="#ks_reactor_ksreadonlytransformextension_toworlddirection_ks_reactor_ksireadonlytransform_ks_reactor" id="ks_reactor_ksreadonlytransformextension_toworlddirection_ks_reactor_ksireadonlytransform_ks_reactor"></a>

Converts a direction from local space to world space.

```csharp
public static ksVector3 ToWorldDirection(this ksIReadOnlyTransform transform, ksVector3 localDirection, bool includeScale = true)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

Transform to use for conversion.

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

Direction in local space.

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

Include tranform scaling in the conversion.

#### Returns

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

Direction in world space.

### Up(ksIReadOnlyTransform) <a href="#ks_reactor_ksreadonlytransformextension_up_ks_reactor_ksireadonlytransform" id="ks_reactor_ksreadonlytransformextension_up_ks_reactor_ksireadonlytransform"></a>

Gets the local up direction.

```csharp
public static ksVector3 Up(this ksIReadOnlyTransform transform)
```

#### Parameters

`transform` [ksIReadOnlyTransform](/reactor/api-reference/ks.reactor/ks.reactor.ksireadonlytransform.md)

#### Returns

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

Up
