diff options
Diffstat (limited to 'OpenSim/Region/PhysicsModules/BulletS/BSAPIUnman.cs')
-rwxr-xr-x[-rw-r--r--] | OpenSim/Region/PhysicsModules/BulletS/BSAPIUnman.cs | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSAPIUnman.cs b/OpenSim/Region/PhysicsModules/BulletS/BSAPIUnman.cs index c4a923c..840e453 100644..100755 --- a/OpenSim/Region/PhysicsModules/BulletS/BSAPIUnman.cs +++ b/OpenSim/Region/PhysicsModules/BulletS/BSAPIUnman.cs | |||
@@ -155,8 +155,8 @@ public BSAPIUnman(string paramName, BSScene physScene) | |||
155 | 155 | ||
156 | // Initialization and simulation | 156 | // Initialization and simulation |
157 | public override BulletWorld Initialize(Vector3 maxPosition, ConfigurationParameters parms, | 157 | public override BulletWorld Initialize(Vector3 maxPosition, ConfigurationParameters parms, |
158 | int maxCollisions, ref CollisionDesc[] collisionArray, | 158 | int maxCollisions, ref CollisionDesc[] collisionArray, |
159 | int maxUpdates, ref EntityProperties[] updateArray | 159 | int maxUpdates, ref EntityProperties[] updateArray |
160 | ) | 160 | ) |
161 | { | 161 | { |
162 | // Pin down the memory that will be used to pass object collisions and updates back from unmanaged code | 162 | // Pin down the memory that will be used to pass object collisions and updates back from unmanaged code |
@@ -1405,6 +1405,19 @@ public override float GetMargin(BulletShape shape) | |||
1405 | } | 1405 | } |
1406 | 1406 | ||
1407 | // ===================================================================================== | 1407 | // ===================================================================================== |
1408 | // Raycast | ||
1409 | public override SweepHit ConvexSweepTest2(BulletWorld world, BulletBody sweepObject, Vector3 from, Vector3 to, float margin) { | ||
1410 | BulletWorldUnman worldu = world as BulletWorldUnman; | ||
1411 | BulletBodyUnman bodyu = sweepObject as BulletBodyUnman; | ||
1412 | return BSAPICPP.ConvexSweepTest2(worldu.ptr, bodyu.ptr, from, to, margin); | ||
1413 | } | ||
1414 | |||
1415 | public override RaycastHit RayTest2(BulletWorld world, Vector3 from, Vector3 to, uint filterGroup, uint filterMask) { | ||
1416 | BulletWorldUnman worldu = world as BulletWorldUnman; | ||
1417 | return BSAPICPP.RayTest2(worldu.ptr, from, to, filterGroup, filterMask); | ||
1418 | } | ||
1419 | |||
1420 | // ===================================================================================== | ||
1408 | // Debugging | 1421 | // Debugging |
1409 | public override void DumpRigidBody(BulletWorld world, BulletBody collisionObject) | 1422 | public override void DumpRigidBody(BulletWorld world, BulletBody collisionObject) |
1410 | { | 1423 | { |
@@ -1472,8 +1485,8 @@ public delegate void DebugLogCallback([MarshalAs(UnmanagedType.LPStr)]string msg | |||
1472 | // Initialization and simulation | 1485 | // Initialization and simulation |
1473 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 1486 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1474 | public static extern IntPtr Initialize2(Vector3 maxPosition, IntPtr parms, | 1487 | public static extern IntPtr Initialize2(Vector3 maxPosition, IntPtr parms, |
1475 | int maxCollisions, IntPtr collisionArray, | 1488 | int maxCollisions, IntPtr collisionArray, |
1476 | int maxUpdates, IntPtr updateArray, | 1489 | int maxUpdates, IntPtr updateArray, |
1477 | DebugLogCallback logRoutine); | 1490 | DebugLogCallback logRoutine); |
1478 | 1491 | ||
1479 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 1492 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
@@ -2084,6 +2097,15 @@ public static extern void SetMargin2(IntPtr shape, float val); | |||
2084 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 2097 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
2085 | public static extern float GetMargin2(IntPtr shape); | 2098 | public static extern float GetMargin2(IntPtr shape); |
2086 | 2099 | ||
2100 | |||
2101 | // ===================================================================================== | ||
2102 | // Raycast | ||
2103 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
2104 | public static extern SweepHit ConvexSweepTest2(IntPtr sim, IntPtr obj, Vector3 from, Vector3 to, float margin); | ||
2105 | |||
2106 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
2107 | public static extern RaycastHit RayTest2(IntPtr sim, Vector3 from, Vector3 to, uint filterGroup, uint filterMask); | ||
2108 | |||
2087 | // ===================================================================================== | 2109 | // ===================================================================================== |
2088 | // Debugging | 2110 | // Debugging |
2089 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 2111 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |