> 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.server.physx/ks.reactor.server.physx.pxscene.md).

# Class pxScene

Namespace: [KS.Reactor.Server.PhysX](/reactor/api-reference/ks.reactor.server.physx.md)\
Assembly: KSReactor.dll

```csharp
public class pxScene : UnmanagedPtr
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [UnmanagedPtr](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr.md) ← [pxScene](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxscene.md)

#### Inherited Members

[UnmanagedPtr.Find\<T>(IntPtr)](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr.md#KS_Reactor_Server_PhysX_UnmanagedPtr_Find__1_System_IntPtr_), [UnmanagedPtr.SetUnmanagedPtr(IntPtr, UnmanagedPtr.ReleaseCallback)](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr.md#KS_Reactor_Server_PhysX_UnmanagedPtr_SetUnmanagedPtr_System_IntPtr_KS_Reactor_Server_PhysX_UnmanagedPtr_ReleaseCallback_), [UnmanagedPtr.Release()](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr.md#KS_Reactor_Server_PhysX_UnmanagedPtr_Release), [UnmanagedPtr.UserData](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr.md#KS_Reactor_Server_PhysX_UnmanagedPtr_UserData), [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

### pxScene(eSolverTypes, pxSceneFlags) <a href="#ks_reactor_server_physx_pxscene__ctor_ks_reactor_server_physx_pxscene_esolvertypes_ks_reactor_server" id="ks_reactor_server_physx_pxscene__ctor_ks_reactor_server_physx_pxscene_esolvertypes_ks_reactor_server"></a>

```csharp
public pxScene(pxScene.eSolverTypes solverType = eSolverTypes.PROJECTED_GAUSS_SEIDEL, pxSceneFlags flags = (pxSceneFlags)0)
```

#### Parameters

`solverType` [pxScene](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxscene.md).[eSolverTypes](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxscene/ks.reactor.server.physx.pxscene.esolvertypes.md)

`flags` [pxSceneFlags](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxsceneflags.md)

## Properties

### BounceThreshold <a href="#ks_reactor_server_physx_pxscene_bouncethreshold" id="ks_reactor_server_physx_pxscene_bouncethreshold"></a>

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

#### Property Value

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

### ControllerManager <a href="#ks_reactor_server_physx_pxscene_controllermanager" id="ks_reactor_server_physx_pxscene_controllermanager"></a>

```csharp
public pxControllerManager ControllerManager { get; }
```

#### Property Value

[pxControllerManager](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxcontrollermanager.md)

### Gravity <a href="#ks_reactor_server_physx_pxscene_gravity" id="ks_reactor_server_physx_pxscene_gravity"></a>

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

#### Property Value

ksVector3

### QueriesHitBackFaces <a href="#ks_reactor_server_physx_pxscene_querieshitbackfaces" id="ks_reactor_server_physx_pxscene_querieshitbackfaces"></a>

```csharp
public bool QueriesHitBackFaces { get; set; }
```

#### Property Value

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

## Methods

### AddActor(pxActor) <a href="#ks_reactor_server_physx_pxscene_addactor_ks_reactor_server_physx_pxactor" id="ks_reactor_server_physx_pxscene_addactor_ks_reactor_server_physx_pxactor"></a>

```csharp
public void AddActor(pxActor actor)
```

#### Parameters

`actor` [pxActor](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxactor.md)

### AddController(pxCapsuleController) <a href="#ks_reactor_server_physx_pxscene_addcontroller_ks_reactor_server_physx_pxcapsulecontroller" id="ks_reactor_server_physx_pxscene_addcontroller_ks_reactor_server_physx_pxcapsulecontroller"></a>

```csharp
public void AddController(pxCapsuleController controller)
```

#### Parameters

`controller` [pxCapsuleController](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxcapsulecontroller.md)

### FetchResults() <a href="#ks_reactor_server_physx_pxscene_fetchresults" id="ks_reactor_server_physx_pxscene_fetchresults"></a>

```csharp
public void FetchResults()
```

### ForceDynamicTreeRebuild(bool, bool) <a href="#ks_reactor_server_physx_pxscene_forcedynamictreerebuild_system_boolean_system_boolean" id="ks_reactor_server_physx_pxscene_forcedynamictreerebuild_system_boolean_system_boolean"></a>

```csharp
public void ForceDynamicTreeRebuild(bool rebuildStaticStructure = true, bool rebuildDynamicStructure = true)
```

#### Parameters

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

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

### GetBrokenJoints() <a href="#ks_reactor_server_physx_pxscene_getbrokenjoints" id="ks_reactor_server_physx_pxscene_getbrokenjoints"></a>

```csharp
public List<pxJoint> GetBrokenJoints()
```

#### Returns

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)<[pxJoint](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxjoint.md)>

### GetContacts() <a href="#ks_reactor_server_physx_pxscene_getcontacts" id="ks_reactor_server_physx_pxscene_getcontacts"></a>

```csharp
public List<pxContact> GetContacts()
```

#### Returns

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)<[pxContact](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxcontact.md)>

### GetSleptActors() <a href="#ks_reactor_server_physx_pxscene_getsleptactors" id="ks_reactor_server_physx_pxscene_getsleptactors"></a>

```csharp
public List<pxActor> GetSleptActors()
```

#### Returns

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)<[pxActor](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxactor.md)>

### GetWokeActors() <a href="#ks_reactor_server_physx_pxscene_getwokeactors" id="ks_reactor_server_physx_pxscene_getwokeactors"></a>

```csharp
public List<pxActor> GetWokeActors()
```

#### Returns

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)<[pxActor](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxactor.md)>

### Overlap(pxGeometry, ksVector3, ksQuaternion, pxOverlapBuffer, pxQueryFlags, pxFilter, pxQueryFilterCallback) <a href="#ks_reactor_server_physx_pxscene_overlap_ks_reactor_server_physx_pxgeometry_ks_reactor_ksvector3_ks_r" id="ks_reactor_server_physx_pxscene_overlap_ks_reactor_server_physx_pxgeometry_ks_reactor_ksvector3_ks_r"></a>

```csharp
public bool Overlap(pxGeometry geometry, ksVector3 position, ksQuaternion rotation, pxOverlapBuffer buffer, pxQueryFlags queryFlags = pxQueryFlags.DEFAULT, pxFilter filter = default, pxQueryFilterCallback queryFilter = null)
```

#### Parameters

`geometry` [pxGeometry](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxgeometry.md)

`position` ksVector3

`rotation` ksQuaternion

`buffer` [pxOverlapBuffer](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxoverlapbuffer.md)

`queryFlags` [pxQueryFlags](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxqueryflags.md)

`filter` [pxFilter](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxfilter.md)

`queryFilter` [pxQueryFilterCallback](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxqueryfiltercallback.md)

#### Returns

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

### Raycast(ksVector3, ksVector3, float, pxRaycastBuffer, pxHitFlags, pxQueryFlags, pxFilter, pxQueryFilterCallback) <a href="#ks_reactor_server_physx_pxscene_raycast_ks_reactor_ksvector3_ks_reactor_ksvector3_system_single_ks_r" id="ks_reactor_server_physx_pxscene_raycast_ks_reactor_ksvector3_ks_reactor_ksvector3_system_single_ks_r"></a>

```csharp
public bool Raycast(ksVector3 origin, ksVector3 dir, float distance, pxRaycastBuffer buffer, pxHitFlags hitFlags = pxHitFlags.DEFAULT, pxQueryFlags queryFlags = pxQueryFlags.DEFAULT, pxFilter filter = default, pxQueryFilterCallback queryFilter = null)
```

#### Parameters

`origin` ksVector3

`dir` ksVector3

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

`buffer` [pxRaycastBuffer](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxraycastbuffer.md)

`hitFlags` [pxHitFlags](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxhitflags.md)

`queryFlags` [pxQueryFlags](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxqueryflags.md)

`filter` [pxFilter](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxfilter.md)

`queryFilter` [pxQueryFilterCallback](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxqueryfiltercallback.md)

#### Returns

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

### Release(IntPtr) <a href="#ks_reactor_server_physx_pxscene_release_system_intptr" id="ks_reactor_server_physx_pxscene_release_system_intptr"></a>

```csharp
public void Release(IntPtr scenePtr)
```

#### Parameters

`scenePtr` [IntPtr](https://learn.microsoft.com/dotnet/api/system.intptr)

### RemoveActor(pxActor) <a href="#ks_reactor_server_physx_pxscene_removeactor_ks_reactor_server_physx_pxactor" id="ks_reactor_server_physx_pxscene_removeactor_ks_reactor_server_physx_pxactor"></a>

```csharp
public void RemoveActor(pxActor actor)
```

#### Parameters

`actor` [pxActor](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxactor.md)

### RemoveController(pxCapsuleController) <a href="#ks_reactor_server_physx_pxscene_removecontroller_ks_reactor_server_physx_pxcapsulecontroller" id="ks_reactor_server_physx_pxscene_removecontroller_ks_reactor_server_physx_pxcapsulecontroller"></a>

```csharp
public void RemoveController(pxCapsuleController controller)
```

#### Parameters

`controller` [pxCapsuleController](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxcapsulecontroller.md)

### Simulate(float) <a href="#ks_reactor_server_physx_pxscene_simulate_system_single" id="ks_reactor_server_physx_pxscene_simulate_system_single"></a>

```csharp
public void Simulate(float time)
```

#### Parameters

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

### Sweep(pxGeometry, ksVector3, ksQuaternion, ksVector3, float, pxSweepBuffer, pxHitFlags, pxQueryFlags, pxFilter, pxQueryFilterCallback, float) <a href="#ks_reactor_server_physx_pxscene_sweep_ks_reactor_server_physx_pxgeometry_ks_reactor_ksvector3_ks_rea" id="ks_reactor_server_physx_pxscene_sweep_ks_reactor_server_physx_pxgeometry_ks_reactor_ksvector3_ks_rea"></a>

```csharp
public bool Sweep(pxGeometry geometry, ksVector3 position, ksQuaternion rotation, ksVector3 dir, float distance, pxSweepBuffer buffer, pxHitFlags hitFlags = pxHitFlags.DEFAULT, pxQueryFlags queryFlags = pxQueryFlags.DEFAULT, pxFilter filter = default, pxQueryFilterCallback queryFilter = null, float inflate = 0)
```

#### Parameters

`geometry` [pxGeometry](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxgeometry.md)

`position` ksVector3

`rotation` ksQuaternion

`dir` ksVector3

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

`buffer` [pxSweepBuffer](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxsweepbuffer.md)

`hitFlags` [pxHitFlags](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxhitflags.md)

`queryFlags` [pxQueryFlags](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxqueryflags.md)

`filter` [pxFilter](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxfilter.md)

`queryFilter` [pxQueryFilterCallback](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxqueryfiltercallback.md)

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

#### Returns

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