diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs b/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs index 86fc9d2..6800b96 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs | |||
@@ -35,9 +35,11 @@ namespace OpenSim.Region.Physics.BulletSPlugin { | |||
35 | // Classes to allow some type checking for the API | 35 | // Classes to allow some type checking for the API |
36 | public struct BulletSim | 36 | public struct BulletSim |
37 | { | 37 | { |
38 | public BulletSim(uint id, IntPtr xx) { ID = id; Ptr = xx; } | 38 | public BulletSim(uint id, BSScene bss, IntPtr xx) { ID = id; scene = bss; Ptr = xx; } |
39 | public IntPtr Ptr; | ||
40 | public uint ID; | 39 | public uint ID; |
40 | // The scene is only in here so very low level routines have a handle to print debug/error messages | ||
41 | public BSScene scene; | ||
42 | public IntPtr Ptr; | ||
41 | } | 43 | } |
42 | 44 | ||
43 | public struct BulletBody | 45 | public struct BulletBody |
@@ -363,7 +365,7 @@ public static extern IntPtr GetSimHandle2(uint worldID); | |||
363 | public static extern IntPtr GetBodyHandleWorldID2(uint worldID, uint id); | 365 | public static extern IntPtr GetBodyHandleWorldID2(uint worldID, uint id); |
364 | 366 | ||
365 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 367 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
366 | public static extern IntPtr GetBodyHandle2(IntPtr sim, uint id); | 368 | public static extern IntPtr GetBodyHandle2(IntPtr world, uint id); |
367 | 369 | ||
368 | // =============================================================================== | 370 | // =============================================================================== |
369 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 371 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
@@ -372,40 +374,43 @@ public static extern IntPtr Initialize2(Vector3 maxPosition, IntPtr parms, | |||
372 | int maxUpdates, IntPtr updateArray); | 374 | int maxUpdates, IntPtr updateArray); |
373 | 375 | ||
374 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 376 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
375 | public static extern bool UpdateParameter2(IntPtr sim, uint localID, String parm, float value); | 377 | public static extern bool UpdateParameter2(IntPtr world, uint localID, String parm, float value); |
376 | 378 | ||
377 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 379 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
378 | public static extern void SetHeightmap2(IntPtr sim, float[] heightmap); | 380 | public static extern void SetHeightmap2(IntPtr world, float[] heightmap); |
379 | 381 | ||
380 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 382 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
381 | public static extern void Shutdown2(IntPtr sim); | 383 | public static extern void Shutdown2(IntPtr sim); |
382 | 384 | ||
383 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 385 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
384 | public static extern int PhysicsStep2(IntPtr sim, float timeStep, int maxSubSteps, float fixedTimeStep, | 386 | public static extern int PhysicsStep2(IntPtr world, float timeStep, int maxSubSteps, float fixedTimeStep, |
385 | out int updatedEntityCount, | 387 | out int updatedEntityCount, |
386 | out IntPtr updatedEntitiesPtr, | 388 | out IntPtr updatedEntitiesPtr, |
387 | out int collidersCount, | 389 | out int collidersCount, |
388 | out IntPtr collidersPtr); | 390 | out IntPtr collidersPtr); |
389 | 391 | ||
392 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
393 | public static extern bool PushUpdate2(IntPtr obj); | ||
394 | |||
390 | /* | 395 | /* |
391 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 396 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
392 | public static extern IntPtr CreateMesh2(IntPtr sim, int indicesCount, int* indices, int verticesCount, float* vertices ); | 397 | public static extern IntPtr CreateMesh2(IntPtr world, int indicesCount, int* indices, int verticesCount, float* vertices ); |
393 | 398 | ||
394 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 399 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
395 | public static extern bool BuildHull2(IntPtr sim, IntPtr mesh); | 400 | public static extern bool BuildHull2(IntPtr world, IntPtr mesh); |
396 | 401 | ||
397 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 402 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
398 | public static extern bool ReleaseHull2(IntPtr sim, IntPtr mesh); | 403 | public static extern bool ReleaseHull2(IntPtr world, IntPtr mesh); |
399 | 404 | ||
400 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 405 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
401 | public static extern bool DestroyMesh2(IntPtr sim, IntPtr mesh); | 406 | public static extern bool DestroyMesh2(IntPtr world, IntPtr mesh); |
402 | 407 | ||
403 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 408 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
404 | public static extern IntPtr CreateObject2(IntPtr sim, ShapeData shapeData); | 409 | public static extern IntPtr CreateObject2(IntPtr world, ShapeData shapeData); |
405 | */ | 410 | */ |
406 | 411 | ||
407 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 412 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
408 | public static extern IntPtr CreateConstraint2(IntPtr sim, IntPtr obj1, IntPtr obj2, | 413 | public static extern IntPtr Create6DofConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, |
409 | Vector3 frame1loc, Quaternion frame1rot, | 414 | Vector3 frame1loc, Quaternion frame1rot, |
410 | Vector3 frame2loc, Quaternion frame2rot, | 415 | Vector3 frame2loc, Quaternion frame2rot, |
411 | bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); | 416 | bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); |
@@ -429,7 +434,13 @@ public static extern bool CalculateTransforms2(IntPtr constrain); | |||
429 | public static extern bool SetConstraintParam2(IntPtr constrain, ConstraintParams paramIndex, float value, ConstraintParamAxis axis); | 434 | public static extern bool SetConstraintParam2(IntPtr constrain, ConstraintParams paramIndex, float value, ConstraintParamAxis axis); |
430 | 435 | ||
431 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 436 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
432 | public static extern bool DestroyConstraint2(IntPtr sim, IntPtr constrain); | 437 | public static extern bool DestroyConstraint2(IntPtr world, IntPtr constrain); |
438 | |||
439 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
440 | public static extern Vector3 AddObjectToWorld2(IntPtr world, IntPtr obj); | ||
441 | |||
442 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
443 | public static extern Vector3 RemoveObjectFromWorld2(IntPtr world, IntPtr obj); | ||
433 | 444 | ||
434 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 445 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
435 | public static extern Vector3 GetPosition2(IntPtr obj); | 446 | public static extern Vector3 GetPosition2(IntPtr obj); |
@@ -483,6 +494,9 @@ public static extern bool SetLinearVelocity2(IntPtr obj, Vector3 val); | |||
483 | public static extern bool SetInterpolation2(IntPtr obj, Vector3 lin, Vector3 ang); | 494 | public static extern bool SetInterpolation2(IntPtr obj, Vector3 lin, Vector3 ang); |
484 | 495 | ||
485 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 496 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
497 | public static extern CollisionFlags GetCollisionFlags2(IntPtr obj); | ||
498 | |||
499 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
486 | public static extern IntPtr SetCollisionFlags2(IntPtr obj, CollisionFlags flags); | 500 | public static extern IntPtr SetCollisionFlags2(IntPtr obj, CollisionFlags flags); |
487 | 501 | ||
488 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 502 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
@@ -510,12 +524,6 @@ public static extern bool SetMargin2(IntPtr obj, float val); | |||
510 | public static extern bool UpdateSingleAabb2(IntPtr world, IntPtr obj); | 524 | public static extern bool UpdateSingleAabb2(IntPtr world, IntPtr obj); |
511 | 525 | ||
512 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 526 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
513 | public static extern bool AddObjectToWorld2(IntPtr world, IntPtr obj); | ||
514 | |||
515 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
516 | public static extern bool RemoveObjectFromWorld2(IntPtr world, IntPtr obj); | ||
517 | |||
518 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
519 | public static extern bool DestroyObject2(IntPtr world, uint id); | 527 | public static extern bool DestroyObject2(IntPtr world, uint id); |
520 | 528 | ||
521 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 529 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |