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

# Class pxGeometry

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

```csharp
public class pxGeometry : 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) ← [pxGeometry](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxgeometry.md)

#### Derived

[pxBox](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxbox.md), [pxCapsule](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxcapsule.md), [pxConvexMesh](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxconvexmesh.md), [pxHeightField](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxheightfield.md), [pxPlane](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxplane.md), [pxSphere](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxsphere.md), [pxTriangleMesh](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxtrianglemesh.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)

## Properties

### Type <a href="#ks_reactor_server_physx_pxgeometry_type" id="ks_reactor_server_physx_pxgeometry_type"></a>

```csharp
public pxGeometryTypes Type { get; }
```

#### Property Value

[pxGeometryTypes](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxgeometrytypes.md)

## Methods

### ComputePenetration(ref ksVector3, ref float, IntPtr, ref ksVector3, ref ksQuaternion, IntPtr, ref ksVector3, ref ksQuaternion) <a href="#ks_reactor_server_physx_pxgeometry_computepenetration_ks_reactor_ksvector3__system_single__system_in" id="ks_reactor_server_physx_pxgeometry_computepenetration_ks_reactor_ksvector3__system_single__system_in"></a>

```csharp
public static extern bool ComputePenetration(ref ksVector3 direction, ref float depth, IntPtr geometry0, ref ksVector3 position0, ref ksQuaternion rotation0, IntPtr geometry1, ref ksVector3 position1, ref ksQuaternion rotation1)
```

#### Parameters

`direction` ksVector3

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

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

`position0` ksVector3

`rotation0` ksQuaternion

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

`position1` ksVector3

`rotation1` ksQuaternion

#### Returns

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

### GetClosestPoint(ref ksVector3, IntPtr, ref ksVector3, ref ksQuaternion, ref ksVector3) <a href="#ks_reactor_server_physx_pxgeometry_getclosestpoint_ks_reactor_ksvector3__system_intptr_ks_reactor_ks" id="ks_reactor_server_physx_pxgeometry_getclosestpoint_ks_reactor_ksvector3__system_intptr_ks_reactor_ks"></a>

```csharp
public static extern float GetClosestPoint(ref ksVector3 point, IntPtr geometry, ref ksVector3 position, ref ksQuaternion rotation, ref ksVector3 closestPoint)
```

#### Parameters

`point` ksVector3

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

`position` ksVector3

`rotation` ksQuaternion

`closestPoint` ksVector3

#### Returns

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

### GetWorldBounds(IntPtr, ref ksVector3, ref ksQuaternion, ref ksBounds) <a href="#ks_reactor_server_physx_pxgeometry_getworldbounds_system_intptr_ks_reactor_ksvector3__ks_reactor_ksq" id="ks_reactor_server_physx_pxgeometry_getworldbounds_system_intptr_ks_reactor_ksvector3__ks_reactor_ksq"></a>

```csharp
public static extern void GetWorldBounds(IntPtr geometry, ref ksVector3 position, ref ksQuaternion rotation, ref ksBounds bounds)
```

#### Parameters

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

`position` ksVector3

`rotation` ksQuaternion

`bounds` ksBounds
