diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs | 739 |
1 files changed, 82 insertions, 657 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs b/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs index 702bd77..504bd3c 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimAPI.cs | |||
@@ -33,153 +33,38 @@ using OpenMetaverse; | |||
33 | namespace OpenSim.Region.Physics.BulletSPlugin { | 33 | namespace OpenSim.Region.Physics.BulletSPlugin { |
34 | 34 | ||
35 | // Classes to allow some type checking for the API | 35 | // Classes to allow some type checking for the API |
36 | // These hold pointers to allocated objects in the unmanaged space. | ||
37 | |||
38 | // The physics engine controller class created at initialization | ||
39 | public struct BulletSim | 36 | public struct BulletSim |
40 | { | 37 | { |
41 | public BulletSim(uint worldId, BSScene bss, IntPtr xx) | 38 | public BulletSim(uint id, BSScene bss, IntPtr xx) { ID = id; scene = bss; Ptr = xx; } |
42 | { | 39 | public uint ID; |
43 | ptr = xx; | ||
44 | worldID = worldId; | ||
45 | physicsScene = bss; | ||
46 | } | ||
47 | public IntPtr ptr; | ||
48 | public uint worldID; | ||
49 | // The scene is only in here so very low level routines have a handle to print debug/error messages | 40 | // The scene is only in here so very low level routines have a handle to print debug/error messages |
50 | public BSScene physicsScene; | 41 | public BSScene scene; |
42 | public IntPtr Ptr; | ||
51 | } | 43 | } |
52 | 44 | ||
53 | // An allocated Bullet btRigidBody | ||
54 | public struct BulletBody | 45 | public struct BulletBody |
55 | { | 46 | { |
56 | public BulletBody(uint id, IntPtr xx) | 47 | public BulletBody(uint id, IntPtr xx) { ID = id; Ptr = xx; } |
57 | { | 48 | public IntPtr Ptr; |
58 | ID = id; | ||
59 | ptr = xx; | ||
60 | collisionFilter = 0; | ||
61 | collisionMask = 0; | ||
62 | } | ||
63 | public IntPtr ptr; | ||
64 | public uint ID; | 49 | public uint ID; |
65 | public CollisionFilterGroups collisionFilter; | ||
66 | public CollisionFilterGroups collisionMask; | ||
67 | public override string ToString() | ||
68 | { | ||
69 | StringBuilder buff = new StringBuilder(); | ||
70 | buff.Append("<id="); | ||
71 | buff.Append(ID.ToString()); | ||
72 | buff.Append(",p="); | ||
73 | buff.Append(ptr.ToString("X")); | ||
74 | if (collisionFilter != 0 || collisionMask != 0) | ||
75 | { | ||
76 | buff.Append(",f="); | ||
77 | buff.Append(collisionFilter.ToString("X")); | ||
78 | buff.Append(",m="); | ||
79 | buff.Append(collisionMask.ToString("X")); | ||
80 | } | ||
81 | buff.Append(">"); | ||
82 | return buff.ToString(); | ||
83 | } | ||
84 | } | ||
85 | |||
86 | public struct BulletShape | ||
87 | { | ||
88 | public BulletShape(IntPtr xx) | ||
89 | { | ||
90 | ptr = xx; | ||
91 | type=ShapeData.PhysicsShapeType.SHAPE_UNKNOWN; | ||
92 | shapeKey = 0; | ||
93 | isNativeShape = false; | ||
94 | } | ||
95 | public BulletShape(IntPtr xx, ShapeData.PhysicsShapeType typ) | ||
96 | { | ||
97 | ptr = xx; | ||
98 | type = typ; | ||
99 | shapeKey = 0; | ||
100 | isNativeShape = false; | ||
101 | } | ||
102 | public IntPtr ptr; | ||
103 | public ShapeData.PhysicsShapeType type; | ||
104 | public System.UInt64 shapeKey; | ||
105 | public bool isNativeShape; | ||
106 | public override string ToString() | ||
107 | { | ||
108 | StringBuilder buff = new StringBuilder(); | ||
109 | buff.Append("<p="); | ||
110 | buff.Append(ptr.ToString("X")); | ||
111 | buff.Append(",s="); | ||
112 | buff.Append(type.ToString()); | ||
113 | buff.Append(",k="); | ||
114 | buff.Append(shapeKey.ToString("X")); | ||
115 | buff.Append(",n="); | ||
116 | buff.Append(isNativeShape.ToString()); | ||
117 | buff.Append(">"); | ||
118 | return buff.ToString(); | ||
119 | } | ||
120 | } | 50 | } |
121 | 51 | ||
122 | // Constraint type values as defined by Bullet | ||
123 | public enum ConstraintType : int | ||
124 | { | ||
125 | POINT2POINT_CONSTRAINT_TYPE = 3, | ||
126 | HINGE_CONSTRAINT_TYPE, | ||
127 | CONETWIST_CONSTRAINT_TYPE, | ||
128 | D6_CONSTRAINT_TYPE, | ||
129 | SLIDER_CONSTRAINT_TYPE, | ||
130 | CONTACT_CONSTRAINT_TYPE, | ||
131 | D6_SPRING_CONSTRAINT_TYPE, | ||
132 | MAX_CONSTRAINT_TYPE | ||
133 | } | ||
134 | |||
135 | // An allocated Bullet btConstraint | ||
136 | public struct BulletConstraint | 52 | public struct BulletConstraint |
137 | { | 53 | { |
138 | public BulletConstraint(IntPtr xx) | 54 | public BulletConstraint(IntPtr xx) { Ptr = xx; } |
139 | { | ||
140 | ptr = xx; | ||
141 | } | ||
142 | public IntPtr ptr; | ||
143 | } | ||
144 | |||
145 | // An allocated HeightMapThing which holds various heightmap info. | ||
146 | // Made a class rather than a struct so there would be only one | ||
147 | // instance of this and C# will pass around pointers rather | ||
148 | // than making copies. | ||
149 | public class BulletHeightMapInfo | ||
150 | { | ||
151 | public BulletHeightMapInfo(uint id, float[] hm, IntPtr xx) { | ||
152 | ID = id; | ||
153 | Ptr = xx; | ||
154 | heightMap = hm; | ||
155 | terrainRegionBase = new Vector2(0f, 0f); | ||
156 | minCoords = new Vector3(100f, 100f, 25f); | ||
157 | maxCoords = new Vector3(101f, 101f, 26f); | ||
158 | minZ = maxZ = 0f; | ||
159 | sizeX = sizeY = 256f; | ||
160 | } | ||
161 | public uint ID; | ||
162 | public IntPtr Ptr; | 55 | public IntPtr Ptr; |
163 | public float[] heightMap; | ||
164 | public Vector2 terrainRegionBase; | ||
165 | public Vector3 minCoords; | ||
166 | public Vector3 maxCoords; | ||
167 | public float sizeX, sizeY; | ||
168 | public float minZ, maxZ; | ||
169 | public BulletShape terrainShape; | ||
170 | public BulletBody terrainBody; | ||
171 | } | 56 | } |
172 | 57 | ||
173 | // =============================================================================== | 58 | // =============================================================================== |
174 | [StructLayout(LayoutKind.Sequential)] | 59 | [StructLayout(LayoutKind.Sequential)] |
175 | public struct ConvexHull | 60 | public struct ConvexHull |
176 | { | 61 | { |
177 | Vector3 Offset; | 62 | Vector3 Offset; |
178 | int VertexCount; | 63 | int VertexCount; |
179 | Vector3[] Vertices; | 64 | Vector3[] Vertices; |
180 | } | 65 | } |
181 | [StructLayout(LayoutKind.Sequential)] | 66 | [StructLayout(LayoutKind.Sequential)] |
182 | public struct ShapeData | 67 | public struct ShapeData |
183 | { | 68 | { |
184 | public enum PhysicsShapeType | 69 | public enum PhysicsShapeType |
185 | { | 70 | { |
@@ -190,11 +75,7 @@ public struct ShapeData | |||
190 | SHAPE_CYLINDER = 4, | 75 | SHAPE_CYLINDER = 4, |
191 | SHAPE_SPHERE = 5, | 76 | SHAPE_SPHERE = 5, |
192 | SHAPE_MESH = 6, | 77 | SHAPE_MESH = 6, |
193 | SHAPE_HULL = 7, | 78 | SHAPE_HULL = 7 |
194 | // following defined by BulletSim | ||
195 | SHAPE_GROUNDPLANE = 20, | ||
196 | SHAPE_TERRAIN = 21, | ||
197 | SHAPE_COMPOUND = 22, | ||
198 | }; | 79 | }; |
199 | public uint ID; | 80 | public uint ID; |
200 | public PhysicsShapeType Type; | 81 | public PhysicsShapeType Type; |
@@ -210,25 +91,13 @@ public struct ShapeData | |||
210 | public float Restitution; | 91 | public float Restitution; |
211 | public float Collidable; // true of things bump into this | 92 | public float Collidable; // true of things bump into this |
212 | public float Static; // true if a static object. Otherwise gravity, etc. | 93 | public float Static; // true if a static object. Otherwise gravity, etc. |
213 | public float Solid; // true if object cannot be passed through | ||
214 | public Vector3 Size; | ||
215 | 94 | ||
216 | // note that bools are passed as floats since bool size changes by language and architecture | 95 | // note that bools are passed as floats since bool size changes by language and architecture |
217 | public const float numericTrue = 1f; | 96 | public const float numericTrue = 1f; |
218 | public const float numericFalse = 0f; | 97 | public const float numericFalse = 0f; |
219 | |||
220 | // The native shapes have predefined shape hash keys | ||
221 | public enum FixedShapeKey : ulong | ||
222 | { | ||
223 | KEY_BOX = 1, | ||
224 | KEY_SPHERE = 2, | ||
225 | KEY_CONE = 3, | ||
226 | KEY_CYLINDER = 4, | ||
227 | KEY_CAPSULE = 5, | ||
228 | } | ||
229 | } | 98 | } |
230 | [StructLayout(LayoutKind.Sequential)] | 99 | [StructLayout(LayoutKind.Sequential)] |
231 | public struct SweepHit | 100 | public struct SweepHit |
232 | { | 101 | { |
233 | public uint ID; | 102 | public uint ID; |
234 | public float Fraction; | 103 | public float Fraction; |
@@ -284,7 +153,6 @@ public struct ConfigurationParameters | |||
284 | public float terrainHitFraction; | 153 | public float terrainHitFraction; |
285 | public float terrainRestitution; | 154 | public float terrainRestitution; |
286 | public float avatarFriction; | 155 | public float avatarFriction; |
287 | public float avatarStandingFriction; | ||
288 | public float avatarDensity; | 156 | public float avatarDensity; |
289 | public float avatarRestitution; | 157 | public float avatarRestitution; |
290 | public float avatarCapsuleRadius; | 158 | public float avatarCapsuleRadius; |
@@ -300,45 +168,18 @@ public struct ConfigurationParameters | |||
300 | public float shouldEnableFrictionCaching; | 168 | public float shouldEnableFrictionCaching; |
301 | public float numberOfSolverIterations; | 169 | public float numberOfSolverIterations; |
302 | 170 | ||
303 | public float linksetImplementation; | ||
304 | public float linkConstraintUseFrameOffset; | 171 | public float linkConstraintUseFrameOffset; |
305 | public float linkConstraintEnableTransMotor; | 172 | public float linkConstraintEnableTransMotor; |
306 | public float linkConstraintTransMotorMaxVel; | 173 | public float linkConstraintTransMotorMaxVel; |
307 | public float linkConstraintTransMotorMaxForce; | 174 | public float linkConstraintTransMotorMaxForce; |
308 | public float linkConstraintERP; | 175 | public float linkConstraintERP; |
309 | public float linkConstraintCFM; | 176 | public float linkConstraintCFM; |
310 | public float linkConstraintSolverIterations; | ||
311 | |||
312 | public float physicsLoggingFrames; | ||
313 | 177 | ||
314 | public const float numericTrue = 1f; | 178 | public const float numericTrue = 1f; |
315 | public const float numericFalse = 0f; | 179 | public const float numericFalse = 0f; |
316 | } | 180 | } |
317 | 181 | ||
318 | 182 | // Values used by Bullet and BulletSim to control collisions | |
319 | // The states a bullet collision object can have | ||
320 | public enum ActivationState : uint | ||
321 | { | ||
322 | ACTIVE_TAG = 1, | ||
323 | ISLAND_SLEEPING, | ||
324 | WANTS_DEACTIVATION, | ||
325 | DISABLE_DEACTIVATION, | ||
326 | DISABLE_SIMULATION, | ||
327 | } | ||
328 | |||
329 | public enum CollisionObjectTypes : int | ||
330 | { | ||
331 | CO_COLLISION_OBJECT = 1 << 0, | ||
332 | CO_RIGID_BODY = 1 << 1, | ||
333 | CO_GHOST_OBJECT = 1 << 2, | ||
334 | CO_SOFT_BODY = 1 << 3, | ||
335 | CO_HF_FLUID = 1 << 4, | ||
336 | CO_USER_TYPE = 1 << 5, | ||
337 | } | ||
338 | |||
339 | // Values used by Bullet and BulletSim to control object properties. | ||
340 | // Bullet's "CollisionFlags" has more to do with operations on the | ||
341 | // object (if collisions happen, if gravity effects it, ...). | ||
342 | public enum CollisionFlags : uint | 183 | public enum CollisionFlags : uint |
343 | { | 184 | { |
344 | CF_STATIC_OBJECT = 1 << 0, | 185 | CF_STATIC_OBJECT = 1 << 0, |
@@ -350,54 +191,9 @@ public enum CollisionFlags : uint | |||
350 | CF_DISABLE_SPU_COLLISION_PROCESS = 1 << 6, | 191 | CF_DISABLE_SPU_COLLISION_PROCESS = 1 << 6, |
351 | // Following used by BulletSim to control collisions | 192 | // Following used by BulletSim to control collisions |
352 | BS_SUBSCRIBE_COLLISION_EVENTS = 1 << 10, | 193 | BS_SUBSCRIBE_COLLISION_EVENTS = 1 << 10, |
353 | BS_FLOATS_ON_WATER = 1 << 11, | 194 | BS_VOLUME_DETECT_OBJECT = 1 << 11, |
354 | BS_NONE = 0, | 195 | BS_PHANTOM_OBJECT = 1 << 12, |
355 | BS_ALL = 0xFFFFFFFF, | 196 | BS_PHYSICAL_OBJECT = 1 << 13, |
356 | |||
357 | // These are the collision flags switched depending on physical state. | ||
358 | // The other flags are used for other things and should not be fooled with. | ||
359 | BS_ACTIVE = CF_STATIC_OBJECT | ||
360 | | CF_KINEMATIC_OBJECT | ||
361 | | CF_NO_CONTACT_RESPONSE | ||
362 | }; | ||
363 | |||
364 | // Values for collisions groups and masks | ||
365 | public enum CollisionFilterGroups : uint | ||
366 | { | ||
367 | // Don't use the bit definitions!! Define the use in a | ||
368 | // filter/mask definition below. This way collision interactions | ||
369 | // are more easily debugged. | ||
370 | BNoneFilter = 0, | ||
371 | BDefaultFilter = 1 << 0, | ||
372 | BStaticFilter = 1 << 1, | ||
373 | BKinematicFilter = 1 << 2, | ||
374 | BDebrisFilter = 1 << 3, | ||
375 | BSensorTrigger = 1 << 4, | ||
376 | BCharacterFilter = 1 << 5, | ||
377 | BAllFilter = 0xFFFFFFFF, | ||
378 | // Filter groups defined by BulletSim | ||
379 | BGroundPlaneFilter = 1 << 10, | ||
380 | BTerrainFilter = 1 << 11, | ||
381 | BRaycastFilter = 1 << 12, | ||
382 | BSolidFilter = 1 << 13, | ||
383 | BLinksetFilter = 1 << 14, | ||
384 | |||
385 | // The collsion filters and masked are defined in one place -- don't want them scattered | ||
386 | AvatarFilter = BCharacterFilter, | ||
387 | AvatarMask = BAllFilter, | ||
388 | ObjectFilter = BSolidFilter, | ||
389 | ObjectMask = BAllFilter, | ||
390 | StaticObjectFilter = BStaticFilter, | ||
391 | StaticObjectMask = BAllFilter, | ||
392 | LinksetFilter = BLinksetFilter, | ||
393 | LinksetMask = BAllFilter & ~BLinksetFilter, | ||
394 | VolumeDetectFilter = BSensorTrigger, | ||
395 | VolumeDetectMask = ~BSensorTrigger, | ||
396 | TerrainFilter = BTerrainFilter, | ||
397 | TerrainMask = BAllFilter & ~BStaticFilter, | ||
398 | GroundPlaneFilter = BGroundPlaneFilter, | ||
399 | GroundPlaneMask = BAllFilter | ||
400 | |||
401 | }; | 197 | }; |
402 | 198 | ||
403 | // CFM controls the 'hardness' of the constraint. 0=fixed, 0..1=violatable. Default=0 | 199 | // CFM controls the 'hardness' of the constraint. 0=fixed, 0..1=violatable. Default=0 |
@@ -425,23 +221,14 @@ public enum ConstraintParamAxis : int | |||
425 | // =============================================================================== | 221 | // =============================================================================== |
426 | static class BulletSimAPI { | 222 | static class BulletSimAPI { |
427 | 223 | ||
428 | // Link back to the managed code for outputting log messages | ||
429 | [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | ||
430 | public delegate void DebugLogCallback([MarshalAs(UnmanagedType.LPStr)]string msg); | ||
431 | |||
432 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 224 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
433 | [return: MarshalAs(UnmanagedType.LPStr)] | 225 | [return: MarshalAs(UnmanagedType.LPStr)] |
434 | public static extern string GetVersion(); | 226 | public static extern string GetVersion(); |
435 | 227 | ||
436 | /* Remove the linkage to the old api methods | ||
437 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 228 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
438 | public static extern uint Initialize(Vector3 maxPosition, IntPtr parms, | 229 | public static extern uint Initialize(Vector3 maxPosition, IntPtr parms, |
439 | int maxCollisions, IntPtr collisionArray, | 230 | int maxCollisions, IntPtr collisionArray, |
440 | int maxUpdates, IntPtr updateArray, | 231 | int maxUpdates, IntPtr updateArray); |
441 | DebugLogCallback logRoutine); | ||
442 | |||
443 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
444 | public static extern void CreateInitialGroundPlaneAndTerrain(uint worldID); | ||
445 | 232 | ||
446 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 233 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
447 | public static extern void SetHeightmap(uint worldID, [MarshalAs(UnmanagedType.LPArray)] float[] heightMap); | 234 | public static extern void SetHeightmap(uint worldID, [MarshalAs(UnmanagedType.LPArray)] float[] heightMap); |
@@ -455,19 +242,19 @@ public static extern bool UpdateParameter(uint worldID, uint localID, | |||
455 | 242 | ||
456 | // =============================================================================== | 243 | // =============================================================================== |
457 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 244 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
458 | public static extern int PhysicsStep(uint worldID, float timeStep, int maxSubSteps, float fixedTimeStep, | 245 | public static extern int PhysicsStep(uint worldID, float timeStep, int maxSubSteps, float fixedTimeStep, |
459 | out int updatedEntityCount, | 246 | out int updatedEntityCount, |
460 | out IntPtr updatedEntitiesPtr, | 247 | out IntPtr updatedEntitiesPtr, |
461 | out int collidersCount, | 248 | out int collidersCount, |
462 | out IntPtr collidersPtr); | 249 | out IntPtr collidersPtr); |
463 | 250 | ||
464 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 251 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
465 | public static extern bool CreateHull(uint worldID, System.UInt64 meshKey, | 252 | public static extern bool CreateHull(uint worldID, System.UInt64 meshKey, |
466 | int hullCount, [MarshalAs(UnmanagedType.LPArray)] float[] hulls | 253 | int hullCount, [MarshalAs(UnmanagedType.LPArray)] float[] hulls |
467 | ); | 254 | ); |
468 | 255 | ||
469 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 256 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
470 | public static extern bool CreateMesh(uint worldID, System.UInt64 meshKey, | 257 | public static extern bool CreateMesh(uint worldID, System.UInt64 meshKey, |
471 | int indexCount, [MarshalAs(UnmanagedType.LPArray)] int[] indices, | 258 | int indexCount, [MarshalAs(UnmanagedType.LPArray)] int[] indices, |
472 | int verticesCount, [MarshalAs(UnmanagedType.LPArray)] float[] vertices | 259 | int verticesCount, [MarshalAs(UnmanagedType.LPArray)] float[] vertices |
473 | ); | 260 | ); |
@@ -481,6 +268,23 @@ public static extern bool DestroyMesh(uint worldID, System.UInt64 meshKey); | |||
481 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 268 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
482 | public static extern bool CreateObject(uint worldID, ShapeData shapeData); | 269 | public static extern bool CreateObject(uint worldID, ShapeData shapeData); |
483 | 270 | ||
271 | /* Remove old functionality | ||
272 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
273 | public static extern void CreateLinkset(uint worldID, int objectCount, ShapeData[] shapeDatas); | ||
274 | |||
275 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
276 | public static extern void AddConstraint(uint worldID, uint id1, uint id2, | ||
277 | Vector3 frame1, Quaternion frame1rot, | ||
278 | Vector3 frame2, Quaternion frame2rot, | ||
279 | Vector3 lowLinear, Vector3 hiLinear, Vector3 lowAngular, Vector3 hiAngular); | ||
280 | |||
281 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
282 | public static extern bool RemoveConstraintByID(uint worldID, uint id1); | ||
283 | |||
284 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
285 | public static extern bool RemoveConstraint(uint worldID, uint id1, uint id2); | ||
286 | */ | ||
287 | |||
484 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 288 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
485 | public static extern Vector3 GetObjectPosition(uint WorldID, uint id); | 289 | public static extern Vector3 GetObjectPosition(uint WorldID, uint id); |
486 | 290 | ||
@@ -496,7 +300,6 @@ public static extern bool SetObjectVelocity(uint worldID, uint id, Vector3 veloc | |||
496 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 300 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
497 | public static extern bool SetObjectAngularVelocity(uint worldID, uint id, Vector3 angularVelocity); | 301 | public static extern bool SetObjectAngularVelocity(uint worldID, uint id, Vector3 angularVelocity); |
498 | 302 | ||
499 | // Set the current force acting on the object | ||
500 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 303 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
501 | public static extern bool SetObjectForce(uint worldID, uint id, Vector3 force); | 304 | public static extern bool SetObjectForce(uint worldID, uint id, Vector3 force); |
502 | 305 | ||
@@ -537,8 +340,10 @@ public static extern Vector3 RecoverFromPenetration(uint worldID, uint id); | |||
537 | // =============================================================================== | 340 | // =============================================================================== |
538 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 341 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
539 | public static extern void DumpBulletStatistics(); | 342 | public static extern void DumpBulletStatistics(); |
540 | */ | 343 | |
541 | // Log a debug message | 344 | // Log a debug message |
345 | [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | ||
346 | public delegate void DebugLogCallback([MarshalAs(UnmanagedType.LPStr)]string msg); | ||
542 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 347 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
543 | public static extern void SetDebugLogCallback(DebugLogCallback callback); | 348 | public static extern void SetDebugLogCallback(DebugLogCallback callback); |
544 | 349 | ||
@@ -553,7 +358,6 @@ public static extern void SetDebugLogCallback(DebugLogCallback callback); | |||
553 | // The names have a "2" tacked on. This will be removed as the C# code gets rebuilt | 358 | // The names have a "2" tacked on. This will be removed as the C# code gets rebuilt |
554 | // and the old code is removed. | 359 | // and the old code is removed. |
555 | 360 | ||
556 | // Functions use while converting from API1 to API2. Can be removed when totally converted. | ||
557 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 361 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
558 | public static extern IntPtr GetSimHandle2(uint worldID); | 362 | public static extern IntPtr GetSimHandle2(uint worldID); |
559 | 363 | ||
@@ -564,25 +368,23 @@ public static extern IntPtr GetBodyHandleWorldID2(uint worldID, uint id); | |||
564 | public static extern IntPtr GetBodyHandle2(IntPtr world, uint id); | 368 | public static extern IntPtr GetBodyHandle2(IntPtr world, uint id); |
565 | 369 | ||
566 | // =============================================================================== | 370 | // =============================================================================== |
567 | // Initialization and simulation | ||
568 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 371 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
569 | public static extern IntPtr Initialize2(Vector3 maxPosition, IntPtr parms, | 372 | public static extern IntPtr Initialize2(Vector3 maxPosition, IntPtr parms, |
570 | int maxCollisions, IntPtr collisionArray, | 373 | int maxCollisions, IntPtr collisionArray, |
571 | int maxUpdates, IntPtr updateArray, | 374 | int maxUpdates, IntPtr updateArray); |
572 | DebugLogCallback logRoutine); | ||
573 | 375 | ||
574 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 376 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
575 | public static extern bool UpdateParameter2(IntPtr world, uint localID, String parm, float value); | 377 | public static extern bool UpdateParameter2(IntPtr world, uint localID, String parm, float value); |
576 | 378 | ||
577 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 379 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
578 | public static extern void SetHeightMap2(IntPtr world, float[] heightmap); | 380 | public static extern void SetHeightmap2(IntPtr world, float[] heightmap); |
579 | 381 | ||
580 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 382 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
581 | public static extern void Shutdown2(IntPtr sim); | 383 | public static extern void Shutdown2(IntPtr sim); |
582 | 384 | ||
583 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 385 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
584 | public static extern int PhysicsStep2(IntPtr world, float timeStep, int maxSubSteps, float fixedTimeStep, | 386 | public static extern int PhysicsStep2(IntPtr world, float timeStep, int maxSubSteps, float fixedTimeStep, |
585 | out int updatedEntityCount, | 387 | out int updatedEntityCount, |
586 | out IntPtr updatedEntitiesPtr, | 388 | out IntPtr updatedEntitiesPtr, |
587 | out int collidersCount, | 389 | out int collidersCount, |
588 | out IntPtr collidersPtr); | 390 | out IntPtr collidersPtr); |
@@ -590,98 +392,23 @@ public static extern int PhysicsStep2(IntPtr world, float timeStep, int maxSubSt | |||
590 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 392 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
591 | public static extern bool PushUpdate2(IntPtr obj); | 393 | public static extern bool PushUpdate2(IntPtr obj); |
592 | 394 | ||
593 | // ===================================================================================== | 395 | /* |
594 | // Mesh, hull, shape and body creation helper routines | ||
595 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
596 | public static extern IntPtr CreateMeshShape2(IntPtr world, | ||
597 | int indicesCount, [MarshalAs(UnmanagedType.LPArray)] int[] indices, | ||
598 | int verticesCount, [MarshalAs(UnmanagedType.LPArray)] float[] vertices ); | ||
599 | |||
600 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
601 | public static extern IntPtr CreateHullShape2(IntPtr world, | ||
602 | int hullCount, [MarshalAs(UnmanagedType.LPArray)] float[] hulls); | ||
603 | |||
604 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
605 | public static extern IntPtr BuildHullShapeFromMesh2(IntPtr world, IntPtr meshShape); | ||
606 | |||
607 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
608 | public static extern IntPtr BuildNativeShape2(IntPtr world, ShapeData shapeData); | ||
609 | |||
610 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
611 | public static extern bool IsNativeShape2(IntPtr shape); | ||
612 | |||
613 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
614 | public static extern IntPtr BuildCapsuleShape2(IntPtr world, float radius, float height, Vector3 scale); | ||
615 | |||
616 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
617 | public static extern IntPtr CreateCompoundShape2(IntPtr sim, bool enableDynamicAabbTree); | ||
618 | |||
619 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
620 | public static extern int GetNumberOfCompoundChildren2(IntPtr cShape); | ||
621 | |||
622 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
623 | public static extern void AddChildShapeToCompoundShape2(IntPtr cShape, IntPtr addShape, Vector3 pos, Quaternion rot); | ||
624 | |||
625 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
626 | public static extern IntPtr GetChildShapeFromCompoundShapeIndex2(IntPtr cShape, int indx); | ||
627 | |||
628 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
629 | public static extern IntPtr RemoveChildShapeFromCompoundShapeIndex2(IntPtr cShape, int indx); | ||
630 | |||
631 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
632 | public static extern void RemoveChildShapeFromCompoundShape2(IntPtr cShape, IntPtr removeShape); | ||
633 | |||
634 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
635 | public static extern IntPtr DuplicateCollisionShape2(IntPtr sim, IntPtr srcShape, uint id); | ||
636 | |||
637 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
638 | public static extern IntPtr CreateBodyFromShapeAndInfo2(IntPtr sim, IntPtr shape, uint id, IntPtr constructionInfo); | ||
639 | |||
640 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
641 | public static extern bool DeleteCollisionShape2(IntPtr world, IntPtr shape); | ||
642 | |||
643 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
644 | public static extern int GetBodyType2(IntPtr obj); | ||
645 | |||
646 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
647 | public static extern IntPtr CreateBodyFromShape2(IntPtr sim, IntPtr shape, uint id, Vector3 pos, Quaternion rot); | ||
648 | |||
649 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
650 | public static extern IntPtr CreateBodyWithDefaultMotionState2(IntPtr shape, uint id, Vector3 pos, Quaternion rot); | ||
651 | |||
652 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
653 | public static extern IntPtr CreateGhostFromShape2(IntPtr sim, IntPtr shape, uint id, Vector3 pos, Quaternion rot); | ||
654 | |||
655 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
656 | public static extern IntPtr AllocateBodyInfo2(IntPtr obj); | ||
657 | |||
658 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
659 | public static extern void ReleaseBodyInfo2(IntPtr obj); | ||
660 | |||
661 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
662 | public static extern void DestroyObject2(IntPtr sim, IntPtr obj); | ||
663 | |||
664 | // ===================================================================================== | ||
665 | // Terrain creation and helper routines | ||
666 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 396 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
667 | public static extern IntPtr CreateHeightMapInfo2(IntPtr sim, uint id, Vector3 minCoords, Vector3 maxCoords, | 397 | public static extern IntPtr CreateMesh2(IntPtr world, int indicesCount, int* indices, int verticesCount, float* vertices ); |
668 | [MarshalAs(UnmanagedType.LPArray)] float[] heightMap, float collisionMargin); | ||
669 | 398 | ||
670 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 399 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
671 | public static extern IntPtr FillHeightMapInfo2(IntPtr sim, IntPtr mapInfo, uint id, Vector3 minCoords, Vector3 maxCoords, | 400 | public static extern bool BuildHull2(IntPtr world, IntPtr mesh); |
672 | [MarshalAs(UnmanagedType.LPArray)] float[] heightMap, float collisionMargin); | ||
673 | 401 | ||
674 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 402 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
675 | public static extern bool ReleaseHeightMapInfo2(IntPtr heightMapInfo); | 403 | public static extern bool ReleaseHull2(IntPtr world, IntPtr mesh); |
676 | 404 | ||
677 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 405 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
678 | public static extern IntPtr CreateGroundPlaneShape2(uint id, float height, float collisionMargin); | 406 | public static extern bool DestroyMesh2(IntPtr world, IntPtr mesh); |
679 | 407 | ||
680 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 408 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
681 | public static extern IntPtr CreateTerrainShape2(IntPtr mapInfo); | 409 | public static extern IntPtr CreateObject2(IntPtr world, ShapeData shapeData); |
410 | */ | ||
682 | 411 | ||
683 | // ===================================================================================== | ||
684 | // Constraint creation and helper routines | ||
685 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 412 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
686 | public static extern IntPtr Create6DofConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, | 413 | public static extern IntPtr Create6DofConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, |
687 | Vector3 frame1loc, Quaternion frame1rot, | 414 | Vector3 frame1loc, Quaternion frame1rot, |
@@ -706,7 +433,7 @@ public static extern void SetConstraintEnable2(IntPtr constrain, float numericTr | |||
706 | public static extern void SetConstraintNumSolverIterations2(IntPtr constrain, float iterations); | 433 | public static extern void SetConstraintNumSolverIterations2(IntPtr constrain, float iterations); |
707 | 434 | ||
708 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 435 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
709 | public static extern bool SetFrames2(IntPtr constrain, | 436 | public static extern bool SetFrames2(IntPtr constrain, |
710 | Vector3 frameA, Quaternion frameArot, Vector3 frameB, Quaternion frameBrot); | 437 | Vector3 frameA, Quaternion frameArot, Vector3 frameB, Quaternion frameBrot); |
711 | 438 | ||
712 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 439 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
@@ -733,108 +460,11 @@ public static extern bool SetConstraintParam2(IntPtr constrain, ConstraintParams | |||
733 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 460 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
734 | public static extern bool DestroyConstraint2(IntPtr world, IntPtr constrain); | 461 | public static extern bool DestroyConstraint2(IntPtr world, IntPtr constrain); |
735 | 462 | ||
736 | // ===================================================================================== | ||
737 | // btCollisionWorld entries | ||
738 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 463 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
739 | public static extern void UpdateSingleAabb2(IntPtr world, IntPtr obj); | 464 | public static extern Vector3 AddObjectToWorld2(IntPtr world, IntPtr obj); |
740 | 465 | ||
741 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 466 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
742 | public static extern void UpdateAabbs2(IntPtr world); | 467 | public static extern Vector3 RemoveObjectFromWorld2(IntPtr world, IntPtr obj); |
743 | |||
744 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
745 | public static extern bool GetForceUpdateAllAabbs2(IntPtr world); | ||
746 | |||
747 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
748 | public static extern void SetForceUpdateAllAabbs2(IntPtr world, bool force); | ||
749 | |||
750 | // ===================================================================================== | ||
751 | // btDynamicsWorld entries | ||
752 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
753 | public static extern bool AddObjectToWorld2(IntPtr world, IntPtr obj); | ||
754 | |||
755 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
756 | public static extern bool RemoveObjectFromWorld2(IntPtr world, IntPtr obj); | ||
757 | |||
758 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
759 | public static extern bool AddConstraintToWorld2(IntPtr world, IntPtr constrain, bool disableCollisionsBetweenLinkedObjects); | ||
760 | |||
761 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
762 | public static extern bool RemoveConstraintFromWorld2(IntPtr world, IntPtr constrain); | ||
763 | // ===================================================================================== | ||
764 | // btCollisionObject entries | ||
765 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
766 | public static extern Vector3 GetAnisotripicFriction2(IntPtr constrain); | ||
767 | |||
768 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
769 | public static extern Vector3 SetAnisotripicFriction2(IntPtr constrain, Vector3 frict); | ||
770 | |||
771 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
772 | public static extern bool HasAnisotripicFriction2(IntPtr constrain); | ||
773 | |||
774 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
775 | public static extern void SetContactProcessingThreshold2(IntPtr obj, float val); | ||
776 | |||
777 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
778 | public static extern float GetContactProcessingThreshold2(IntPtr obj); | ||
779 | |||
780 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
781 | public static extern bool IsStaticObject2(IntPtr obj); | ||
782 | |||
783 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
784 | public static extern bool IsKinematicObject2(IntPtr obj); | ||
785 | |||
786 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
787 | public static extern bool IsStaticOrKinematicObject2(IntPtr obj); | ||
788 | |||
789 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
790 | public static extern bool HasContactResponse2(IntPtr obj); | ||
791 | |||
792 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
793 | public static extern void SetCollisionShape2(IntPtr sim, IntPtr obj, IntPtr shape); | ||
794 | |||
795 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
796 | public static extern IntPtr GetCollisionShape2(IntPtr obj); | ||
797 | |||
798 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
799 | public static extern int GetActivationState2(IntPtr obj); | ||
800 | |||
801 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
802 | public static extern void SetActivationState2(IntPtr obj, int state); | ||
803 | |||
804 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
805 | public static extern void SetDeactivationTime2(IntPtr obj, float dtime); | ||
806 | |||
807 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
808 | public static extern float GetDeactivationTime2(IntPtr obj); | ||
809 | |||
810 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
811 | public static extern void ForceActivationState2(IntPtr obj, ActivationState state); | ||
812 | |||
813 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
814 | public static extern void Activate2(IntPtr obj, bool forceActivation); | ||
815 | |||
816 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
817 | public static extern bool IsActive2(IntPtr obj); | ||
818 | |||
819 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
820 | public static extern void SetRestitution2(IntPtr obj, float val); | ||
821 | |||
822 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
823 | public static extern float GetRestitution2(IntPtr obj); | ||
824 | |||
825 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
826 | public static extern void SetFriction2(IntPtr obj, float val); | ||
827 | |||
828 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
829 | public static extern float GetFriction2(IntPtr obj); | ||
830 | |||
831 | /* Haven't defined the type 'Transform' | ||
832 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
833 | public static extern Transform GetWorldTransform2(IntPtr obj); | ||
834 | |||
835 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
836 | public static extern void setWorldTransform2(IntPtr obj, Transform trans); | ||
837 | */ | ||
838 | 468 | ||
839 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 469 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
840 | public static extern Vector3 GetPosition2(IntPtr obj); | 470 | public static extern Vector3 GetPosition2(IntPtr obj); |
@@ -843,290 +473,85 @@ public static extern Vector3 GetPosition2(IntPtr obj); | |||
843 | public static extern Quaternion GetOrientation2(IntPtr obj); | 473 | public static extern Quaternion GetOrientation2(IntPtr obj); |
844 | 474 | ||
845 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 475 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
846 | public static extern void SetTranslation2(IntPtr obj, Vector3 position, Quaternion rotation); | 476 | public static extern bool SetTranslation2(IntPtr obj, Vector3 position, Quaternion rotation); |
847 | |||
848 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
849 | public static extern IntPtr GetBroadphaseHandle2(IntPtr obj); | ||
850 | |||
851 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
852 | public static extern void SetBroadphaseHandle2(IntPtr obj, IntPtr handle); | ||
853 | |||
854 | /* | ||
855 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
856 | public static extern Transform GetInterpolationWorldTransform2(IntPtr obj); | ||
857 | |||
858 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
859 | public static extern void SetInterpolationWorldTransform2(IntPtr obj, Transform trans); | ||
860 | */ | ||
861 | |||
862 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
863 | public static extern void SetInterpolationLinearVelocity2(IntPtr obj, Vector3 vel); | ||
864 | |||
865 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
866 | public static extern void SetInterpolationAngularVelocity2(IntPtr obj, Vector3 vel); | ||
867 | |||
868 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
869 | public static extern void SetInterpolationVelocity2(IntPtr obj, Vector3 linearVel, Vector3 angularVel); | ||
870 | |||
871 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
872 | public static extern float GetHitFraction2(IntPtr obj); | ||
873 | |||
874 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
875 | public static extern void SetHitFraction2(IntPtr obj, float val); | ||
876 | |||
877 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
878 | public static extern CollisionFlags GetCollisionFlags2(IntPtr obj); | ||
879 | |||
880 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
881 | public static extern CollisionFlags SetCollisionFlags2(IntPtr obj, CollisionFlags flags); | ||
882 | |||
883 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
884 | public static extern CollisionFlags AddToCollisionFlags2(IntPtr obj, CollisionFlags flags); | ||
885 | |||
886 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
887 | public static extern CollisionFlags RemoveFromCollisionFlags2(IntPtr obj, CollisionFlags flags); | ||
888 | |||
889 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
890 | public static extern float GetCcdMotionThreshold2(IntPtr obj); | ||
891 | |||
892 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
893 | public static extern void SetCcdMotionThreshold2(IntPtr obj, float val); | ||
894 | |||
895 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
896 | public static extern float GetCcdSweptSphereRadius2(IntPtr obj); | ||
897 | |||
898 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
899 | public static extern void SetCcdSweptSphereRadius2(IntPtr obj, float val); | ||
900 | |||
901 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
902 | public static extern IntPtr GetUserPointer2(IntPtr obj); | ||
903 | |||
904 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
905 | public static extern void SetUserPointer2(IntPtr obj, IntPtr val); | ||
906 | |||
907 | // ===================================================================================== | ||
908 | // btRigidBody entries | ||
909 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
910 | public static extern void ApplyGravity2(IntPtr obj); | ||
911 | |||
912 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
913 | public static extern void SetGravity2(IntPtr obj, Vector3 val); | ||
914 | |||
915 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
916 | public static extern Vector3 GetGravity2(IntPtr obj); | ||
917 | |||
918 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
919 | public static extern void SetDamping2(IntPtr obj, float lin_damping, float ang_damping); | ||
920 | |||
921 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
922 | public static extern float GetLinearDamping2(IntPtr obj); | ||
923 | |||
924 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
925 | public static extern float GetAngularDamping2(IntPtr obj); | ||
926 | |||
927 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
928 | public static extern float GetLinearSleepingThreshold2(IntPtr obj); | ||
929 | |||
930 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
931 | public static extern float GetAngularSleepingThreshold2(IntPtr obj); | ||
932 | |||
933 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
934 | public static extern void ApplyDamping2(IntPtr obj, float timeStep); | ||
935 | |||
936 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
937 | public static extern void SetMassProps2(IntPtr obj, float mass, Vector3 inertia); | ||
938 | |||
939 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
940 | public static extern Vector3 GetLinearFactor2(IntPtr obj); | ||
941 | |||
942 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
943 | public static extern void SetLinearFactor2(IntPtr obj, Vector3 factor); | ||
944 | |||
945 | /* | ||
946 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
947 | public static extern void SetCenterOfMassTransform2(IntPtr obj, Transform trans); | ||
948 | */ | ||
949 | |||
950 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
951 | public static extern void SetCenterOfMassByPosRot2(IntPtr obj, Vector3 pos, Quaternion rot); | ||
952 | |||
953 | // Add a force to the object as if its mass is one. | ||
954 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
955 | public static extern void ApplyCentralForce2(IntPtr obj, Vector3 force); | ||
956 | |||
957 | // Set the force being applied to the object as if its mass is one. | ||
958 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
959 | public static extern void SetObjectForce2(IntPtr obj, Vector3 force); | ||
960 | |||
961 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
962 | public static extern Vector3 GetTotalForce2(IntPtr obj); | ||
963 | |||
964 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
965 | public static extern Vector3 GetTotalTorque2(IntPtr obj); | ||
966 | |||
967 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
968 | public static extern Vector3 GetInvInertiaDiagLocal2(IntPtr obj); | ||
969 | |||
970 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
971 | public static extern void SetInvInertiaDiagLocal2(IntPtr obj, Vector3 inert); | ||
972 | |||
973 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
974 | public static extern void SetSleepingThresholds2(IntPtr obj, float lin_threshold, float ang_threshold); | ||
975 | |||
976 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
977 | public static extern void ApplyTorque2(IntPtr obj, Vector3 torque); | ||
978 | 477 | ||
979 | // Apply force at the given point. Will add torque to the object. | ||
980 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 478 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
981 | public static extern void ApplyForce2(IntPtr obj, Vector3 force, Vector3 pos); | 479 | public static extern bool SetVelocity2(IntPtr obj, Vector3 velocity); |
982 | 480 | ||
983 | // Apply impulse to the object. Same as "ApplycentralForce" but force scaled by object's mass. | ||
984 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 481 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
985 | public static extern void ApplyCentralImpulse2(IntPtr obj, Vector3 imp); | 482 | public static extern bool SetAngularVelocity2(IntPtr obj, Vector3 angularVelocity); |
986 | 483 | ||
987 | // Apply impulse to the object's torque. Force is scaled by object's mass. | ||
988 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 484 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
989 | public static extern void ApplyTorqueImpulse2(IntPtr obj, Vector3 imp); | 485 | public static extern bool SetObjectForce2(IntPtr obj, Vector3 force); |
990 | 486 | ||
991 | // Apply impulse at the point given. For is scaled by object's mass and effects both linear and angular forces. | ||
992 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 487 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
993 | public static extern void ApplyImpulse2(IntPtr obj, Vector3 imp, Vector3 pos); | 488 | public static extern bool AddObjectForce2(IntPtr obj, Vector3 force); |
994 | 489 | ||
995 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 490 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
996 | public static extern void ClearForces2(IntPtr obj); | 491 | public static extern bool SetCcdMotionThreshold2(IntPtr obj, float val); |
997 | 492 | ||
998 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 493 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
999 | public static extern void ClearAllForces2(IntPtr obj); | 494 | public static extern bool SetCcdSweepSphereRadius2(IntPtr obj, float val); |
1000 | 495 | ||
1001 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 496 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1002 | public static extern void UpdateInertiaTensor2(IntPtr obj); | 497 | public static extern bool SetDamping2(IntPtr obj, float lin_damping, float ang_damping); |
1003 | 498 | ||
1004 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 499 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1005 | public static extern Vector3 GetCenterOfMassPosition2(IntPtr obj); | 500 | public static extern bool SetDeactivationTime2(IntPtr obj, float val); |
1006 | 501 | ||
1007 | /* | ||
1008 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 502 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1009 | public static extern Transform GetCenterOfMassTransform2(IntPtr obj); | 503 | public static extern bool SetSleepingThresholds2(IntPtr obj, float lin_threshold, float ang_threshold); |
1010 | */ | ||
1011 | 504 | ||
1012 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 505 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1013 | public static extern Vector3 GetLinearVelocity2(IntPtr obj); | 506 | public static extern bool SetContactProcessingThreshold2(IntPtr obj, float val); |
1014 | 507 | ||
1015 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 508 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1016 | public static extern Vector3 GetAngularVelocity2(IntPtr obj); | 509 | public static extern bool SetFriction2(IntPtr obj, float val); |
1017 | 510 | ||
1018 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 511 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1019 | public static extern void SetLinearVelocity2(IntPtr obj, Vector3 val); | 512 | public static extern bool SetRestitution2(IntPtr obj, float val); |
1020 | 513 | ||
1021 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 514 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1022 | public static extern void SetAngularVelocity2(IntPtr obj, Vector3 angularVelocity); | 515 | public static extern bool SetLinearVelocity2(IntPtr obj, Vector3 val); |
1023 | 516 | ||
1024 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 517 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1025 | public static extern Vector3 GetVelocityInLocalPoint2(IntPtr obj, Vector3 pos); | 518 | public static extern bool SetInterpolation2(IntPtr obj, Vector3 lin, Vector3 ang); |
1026 | 519 | ||
1027 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 520 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1028 | public static extern void Translate2(IntPtr obj, Vector3 trans); | 521 | public static extern CollisionFlags GetCollisionFlags2(IntPtr obj); |
1029 | |||
1030 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1031 | public static extern void UpdateDeactivation2(IntPtr obj, float timeStep); | ||
1032 | |||
1033 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1034 | public static extern bool WantsSleeping2(IntPtr obj); | ||
1035 | |||
1036 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1037 | public static extern void SetAngularFactor2(IntPtr obj, float factor); | ||
1038 | |||
1039 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1040 | public static extern void SetAngularFactorV2(IntPtr obj, Vector3 factor); | ||
1041 | |||
1042 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1043 | public static extern Vector3 GetAngularFactor2(IntPtr obj); | ||
1044 | |||
1045 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1046 | public static extern bool IsInWorld2(IntPtr obj); | ||
1047 | |||
1048 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1049 | public static extern void AddConstraintRef2(IntPtr obj, IntPtr constrain); | ||
1050 | |||
1051 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1052 | public static extern void RemoveConstraintRef2(IntPtr obj, IntPtr constrain); | ||
1053 | |||
1054 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1055 | public static extern IntPtr GetConstraintRef2(IntPtr obj, int index); | ||
1056 | |||
1057 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1058 | public static extern int GetNumConstraintRefs2(IntPtr obj); | ||
1059 | |||
1060 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1061 | public static extern void SetCollisionFilterMask2(IntPtr body, uint filter, uint mask); | ||
1062 | |||
1063 | // ===================================================================================== | ||
1064 | // btCollisionShape entries | ||
1065 | |||
1066 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1067 | public static extern float GetAngularMotionDisc2(IntPtr shape); | ||
1068 | |||
1069 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1070 | public static extern float GetContactBreakingThreshold2(IntPtr shape, float defaultFactor); | ||
1071 | |||
1072 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1073 | public static extern bool IsPolyhedral2(IntPtr shape); | ||
1074 | |||
1075 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1076 | public static extern bool IsConvex2d2(IntPtr shape); | ||
1077 | |||
1078 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1079 | public static extern bool IsConvex2(IntPtr shape); | ||
1080 | |||
1081 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1082 | public static extern bool IsNonMoving2(IntPtr shape); | ||
1083 | |||
1084 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1085 | public static extern bool IsConcave2(IntPtr shape); | ||
1086 | |||
1087 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1088 | public static extern bool IsCompound2(IntPtr shape); | ||
1089 | |||
1090 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1091 | public static extern bool IsSoftBody2(IntPtr shape); | ||
1092 | |||
1093 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | ||
1094 | public static extern bool IsInfinite2(IntPtr shape); | ||
1095 | 522 | ||
1096 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 523 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1097 | public static extern void SetLocalScaling2(IntPtr shape, Vector3 scale); | 524 | public static extern IntPtr SetCollisionFlags2(IntPtr obj, CollisionFlags flags); |
1098 | 525 | ||
1099 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 526 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1100 | public static extern Vector3 GetLocalScaling2(IntPtr shape); | 527 | public static extern IntPtr AddToCollisionFlags2(IntPtr obj, CollisionFlags flags); |
1101 | 528 | ||
1102 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 529 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1103 | public static extern Vector3 CalculateLocalInertia2(IntPtr shape, float mass); | 530 | public static extern IntPtr RemoveFromCollisionFlags2(IntPtr obj, CollisionFlags flags); |
1104 | 531 | ||
1105 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 532 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1106 | public static extern int GetShapeType2(IntPtr shape); | 533 | public static extern bool SetMassProps2(IntPtr obj, float mass, Vector3 inertia); |
1107 | 534 | ||
1108 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 535 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1109 | public static extern void SetMargin2(IntPtr shape, float val); | 536 | public static extern bool UpdateInertiaTensor2(IntPtr obj); |
1110 | 537 | ||
1111 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 538 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1112 | public static extern float GetMargin2(IntPtr shape); | 539 | public static extern bool SetGravity2(IntPtr obj, Vector3 val); |
1113 | 540 | ||
1114 | // ===================================================================================== | ||
1115 | // Debugging | ||
1116 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 541 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1117 | public static extern void DumpRigidBody2(IntPtr sim, IntPtr collisionObject); | 542 | public static extern IntPtr ClearForces2(IntPtr obj); |
1118 | 543 | ||
1119 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 544 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1120 | public static extern void DumpCollisionShape2(IntPtr sim, IntPtr collisionShape); | 545 | public static extern IntPtr ClearAllForces2(IntPtr obj); |
1121 | 546 | ||
1122 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 547 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1123 | public static extern void DumpConstraint2(IntPtr sim, IntPtr constrain); | 548 | public static extern bool SetMargin2(IntPtr obj, float val); |
1124 | 549 | ||
1125 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 550 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1126 | public static extern void DumpAllInfo2(IntPtr sim); | 551 | public static extern bool UpdateSingleAabb2(IntPtr world, IntPtr obj); |
1127 | 552 | ||
1128 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 553 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1129 | public static extern void DumpMapInfo2(IntPtr sim, IntPtr manInfo); | 554 | public static extern bool DestroyObject2(IntPtr world, uint id); |
1130 | 555 | ||
1131 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] | 556 | [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] |
1132 | public static extern void DumpPhysicsStatistics2(IntPtr sim); | 557 | public static extern void DumpPhysicsStatistics2(IntPtr sim); |