28 using System.Collections.Generic;
29 using System.Reflection;
30 using System.Runtime.InteropServices;
31 using System.Security;
34 using OpenSim.Framework;
38 namespace OpenSim.
Region.PhysicsModule.BulletS
46 public BulletWorldUnman(uint
id,
BSScene physScene, IntPtr xx)
53 private sealed
class BulletBodyUnman :
BulletBody
56 public BulletBodyUnman(uint
id, IntPtr xx)
61 public override bool HasPhysicalBody
63 get {
return ptr != IntPtr.Zero; }
65 public override void Clear()
69 public override string AddrString
71 get {
return ptr.ToString(
"X"); }
84 public override bool HasPhysicalShape
86 get {
return ptr != IntPtr.Zero; }
88 public override void Clear()
94 return new BulletShapeUnman(ptr, shapeType);
96 public override bool ReferenceSame(
BulletShape other)
98 BulletShapeUnman otheru = other as BulletShapeUnman;
99 return (otheru != null) && (this.ptr == otheru.ptr);
102 public override string AddrString
104 get {
return ptr.ToString(
"X"); }
109 public BulletConstraintUnman(IntPtr xx) : base()
115 public override void Clear()
119 public override bool HasPhysicalConstraint {
get {
return ptr != IntPtr.Zero; } }
122 public override string AddrString
124 get {
return ptr.ToString(
"X"); }
129 GCHandle m_paramsHandle;
130 private GCHandle m_collisionArrayPinnedHandle;
131 private GCHandle m_updateArrayPinnedHandle;
136 private BSAPICPP.DebugLogCallback m_DebugLogCallbackHandle;
138 private BSScene PhysicsScene {
get; set; }
140 public override string BulletEngineName {
get {
return "BulletUnmanaged"; } }
141 public override string BulletEngineVersion {
get;
protected set; }
145 PhysicsScene = physScene;
149 if (Util.IsWindows())
150 Util.LoadArchSpecificWindowsDll(
"BulletSim.dll");
163 m_paramsHandle = GCHandle.Alloc(parms, GCHandleType.Pinned);
164 m_collisionArrayPinnedHandle = GCHandle.Alloc(collisionArray, GCHandleType.Pinned);
165 m_updateArrayPinnedHandle = GCHandle.Alloc(updateArray, GCHandleType.Pinned);
168 m_DebugLogCallbackHandle = null;
169 if (
BSScene.m_log.IsDebugEnabled && PhysicsScene.PhysicsLogging.Enabled)
171 BSScene.m_log.DebugFormat(
"{0}: Initialize: Setting debug callback for unmanaged code", BSScene.LogHeader);
172 if (PhysicsScene.PhysicsLogging.Enabled)
174 m_DebugLogCallbackHandle =
new BSAPICPP.DebugLogCallback(BulletLoggerPhysLog);
176 m_DebugLogCallbackHandle =
new BSAPICPP.DebugLogCallback(BulletLogger);
182 BulletEngineVersion =
"";
185 return new BulletWorldUnman(0, PhysicsScene, BSAPICPP.Initialize2(maxPosition, m_paramsHandle.AddrOfPinnedObject(),
186 maxCollisions, m_collisionArrayPinnedHandle.AddrOfPinnedObject(),
187 maxUpdates, m_updateArrayPinnedHandle.AddrOfPinnedObject(),
188 m_DebugLogCallbackHandle));
193 private void BulletLogger(
string msg)
195 BSScene.m_log.Debug(
"[BULLETS UNMANAGED]:" + msg);
199 private void BulletLoggerPhysLog(
string msg)
201 PhysicsScene.DetailLog(
"[BULLETS UNMANAGED]:" + msg);
205 out
int updatedEntityCount, out
int collidersCount)
207 BulletWorldUnman worldu = world as BulletWorldUnman;
208 return BSAPICPP.PhysicsStep2(worldu.ptr, timeStep, maxSubSteps, fixedTimeStep, out updatedEntityCount, out collidersCount);
213 BulletWorldUnman worldu = world as BulletWorldUnman;
214 BSAPICPP.Shutdown2(worldu.ptr);
216 if (m_paramsHandle.IsAllocated)
218 m_paramsHandle.Free();
220 if (m_collisionArrayPinnedHandle.IsAllocated)
222 m_collisionArrayPinnedHandle.Free();
224 if (m_updateArrayPinnedHandle.IsAllocated)
226 m_updateArrayPinnedHandle.Free();
232 BulletBodyUnman bodyu = obj as BulletBodyUnman;
233 return BSAPICPP.PushUpdate2(bodyu.ptr);
238 BulletWorldUnman worldu = world as BulletWorldUnman;
239 return BSAPICPP.UpdateParameter2(worldu.ptr, localID, parm, value);
245 int indicesCount,
int[] indices,
246 int verticesCount,
float[] vertices)
248 BulletWorldUnman worldu = world as BulletWorldUnman;
249 return new BulletShapeUnman(
250 BSAPICPP.CreateMeshShape2(worldu.ptr, indicesCount, indices, verticesCount, vertices),
251 BSPhysicsShapeType.SHAPE_MESH);
255 int indicesCount,
int[] indices,
256 int verticesCount,
float[] vertices)
258 BulletWorldUnman worldu = world as BulletWorldUnman;
259 return new BulletShapeUnman(
260 BSAPICPP.CreateGImpactShape2(worldu.ptr, indicesCount, indices, verticesCount, vertices),
261 BSPhysicsShapeType.SHAPE_GIMPACT);
266 BulletWorldUnman worldu = world as BulletWorldUnman;
267 return new BulletShapeUnman(
268 BSAPICPP.CreateHullShape2(worldu.ptr, hullCount, hulls),
269 BSPhysicsShapeType.SHAPE_HULL);
274 BulletWorldUnman worldu = world as BulletWorldUnman;
275 BulletShapeUnman shapeu = meshShape as BulletShapeUnman;
276 return new BulletShapeUnman(
277 BSAPICPP.BuildHullShapeFromMesh2(worldu.ptr, shapeu.ptr, parms),
278 BSPhysicsShapeType.SHAPE_HULL);
283 BulletWorldUnman worldu = world as BulletWorldUnman;
284 BulletShapeUnman shapeu = meshShape as BulletShapeUnman;
285 return new BulletShapeUnman(
286 BSAPICPP.BuildConvexHullShapeFromMesh2(worldu.ptr, shapeu.ptr),
287 BSPhysicsShapeType.SHAPE_CONVEXHULL);
291 int indicesCount,
int[] indices,
292 int verticesCount,
float[] vertices)
294 BulletWorldUnman worldu = world as BulletWorldUnman;
295 return new BulletShapeUnman(
296 BSAPICPP.CreateConvexHullShape2(worldu.ptr, indicesCount, indices, verticesCount, vertices),
297 BSPhysicsShapeType.SHAPE_CONVEXHULL);
302 BulletWorldUnman worldu = world as BulletWorldUnman;
303 return new BulletShapeUnman(BSAPICPP.BuildNativeShape2(worldu.ptr, shapeData), shapeData.Type);
308 BulletShapeUnman shapeu = shape as BulletShapeUnman;
309 if (shapeu != null && shapeu.HasPhysicalShape)
310 return BSAPICPP.IsNativeShape2(shapeu.ptr);
316 BulletShapeUnman shapeu = shape as BulletShapeUnman;
317 if (shapeu != null && shapeu.HasPhysicalShape)
318 BSAPICPP.SetShapeCollisionMargin(shapeu.ptr, margin);
323 BulletWorldUnman worldu = world as BulletWorldUnman;
324 return new BulletShapeUnman(
325 BSAPICPP.BuildCapsuleShape2(worldu.ptr, radius, height, scale),
326 BSPhysicsShapeType.SHAPE_CAPSULE);
331 BulletWorldUnman worldu = world as BulletWorldUnman;
332 return new BulletShapeUnman(
333 BSAPICPP.CreateCompoundShape2(worldu.ptr, enableDynamicAabbTree),
334 BSPhysicsShapeType.SHAPE_COMPOUND);
340 BulletShapeUnman shapeu = shape as BulletShapeUnman;
341 if (shapeu != null && shapeu.HasPhysicalShape)
342 return BSAPICPP.GetNumberOfCompoundChildren2(shapeu.ptr);
348 BulletShapeUnman shapeu = shape as BulletShapeUnman;
349 BulletShapeUnman addShapeu = addShape as BulletShapeUnman;
350 BSAPICPP.AddChildShapeToCompoundShape2(shapeu.ptr, addShapeu.ptr, pos, rot);
355 BulletShapeUnman shapeu = shape as BulletShapeUnman;
356 return new BulletShapeUnman(BSAPICPP.GetChildShapeFromCompoundShapeIndex2(shapeu.ptr, indx), BSPhysicsShapeType.SHAPE_UNKNOWN);
361 BulletShapeUnman shapeu = shape as BulletShapeUnman;
362 return new BulletShapeUnman(BSAPICPP.RemoveChildShapeFromCompoundShapeIndex2(shapeu.ptr, indx), BSPhysicsShapeType.SHAPE_UNKNOWN);
367 BulletShapeUnman shapeu = shape as BulletShapeUnman;
368 BulletShapeUnman removeShapeu = removeShape as BulletShapeUnman;
369 BSAPICPP.RemoveChildShapeFromCompoundShape2(shapeu.ptr, removeShapeu.ptr);
374 BulletShapeUnman shapeu = pShape as BulletShapeUnman;
375 BSAPICPP.UpdateChildTransform2(shapeu.ptr, childIndex, pos, rot, shouldRecalculateLocalAabb);
380 BulletShapeUnman shapeu = shape as BulletShapeUnman;
381 BSAPICPP.RecalculateCompoundShapeLocalAabb2(shapeu.ptr);
386 BulletWorldUnman worldu = world as BulletWorldUnman;
387 BulletShapeUnman srcShapeu = srcShape as BulletShapeUnman;
388 return new BulletShapeUnman(BSAPICPP.DuplicateCollisionShape2(worldu.ptr, srcShapeu.ptr,
id), srcShape.shapeType);
393 BulletWorldUnman worldu = world as BulletWorldUnman;
394 BulletShapeUnman shapeu = shape as BulletShapeUnman;
395 return BSAPICPP.DeleteCollisionShape2(worldu.ptr, shapeu.ptr);
400 BulletBodyUnman bodyu = obj as BulletBodyUnman;
406 BulletWorldUnman worldu = world as BulletWorldUnman;
407 BulletShapeUnman shapeu = shape as BulletShapeUnman;
408 return new BulletBodyUnman(
id, BSAPICPP.CreateBodyFromShape2(worldu.ptr, shapeu.ptr,
id, pos, rot));
413 BulletShapeUnman shapeu = shape as BulletShapeUnman;
414 return new BulletBodyUnman(
id, BSAPICPP.CreateBodyWithDefaultMotionState2(shapeu.ptr,
id, pos, rot));
419 BulletWorldUnman worldu = world as BulletWorldUnman;
420 BulletShapeUnman shapeu = shape as BulletShapeUnman;
421 return new BulletBodyUnman(
id, BSAPICPP.CreateGhostFromShape2(worldu.ptr, shapeu.ptr,
id, pos, rot));
426 BulletWorldUnman worldu = world as BulletWorldUnman;
427 BulletBodyUnman bodyu = obj as BulletBodyUnman;
428 BSAPICPP.DestroyObject2(worldu.ptr, bodyu.ptr);
435 return new BulletShapeUnman(BSAPICPP.CreateGroundPlaneShape2(
id, height, collisionMargin), BSPhysicsShapeType.SHAPE_GROUNDPLANE);
439 float scaleFactor,
float collisionMargin)
441 return new BulletShapeUnman(BSAPICPP.CreateTerrainShape2(
id, size, minHeight, maxHeight, heightMap, scaleFactor, collisionMargin),
442 BSPhysicsShapeType.SHAPE_TERRAIN);
448 Vector3 frame1loc, Quaternion frame1rot,
449 Vector3 frame2loc, Quaternion frame2rot,
450 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies)
452 BulletWorldUnman worldu = world as BulletWorldUnman;
453 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
454 BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman;
455 return new BulletConstraintUnman(BSAPICPP.Create6DofConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, frame1loc, frame1rot,
456 frame2loc, frame2rot, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies));
461 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies)
463 BulletWorldUnman worldu = world as BulletWorldUnman;
464 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
465 BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman;
466 return new BulletConstraintUnman(BSAPICPP.Create6DofConstraintToPoint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr,
467 joinPoint, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies));
471 Vector3 frameInBloc, Quaternion frameInBrot,
472 bool useLinearReferenceFrameB,
bool disableCollisionsBetweenLinkedBodies)
474 BulletWorldUnman worldu = world as BulletWorldUnman;
475 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
476 return new BulletConstraintUnman(BSAPICPP.Create6DofConstraintFixed2(worldu.ptr, bodyu1.ptr,
477 frameInBloc, frameInBrot, useLinearReferenceFrameB, disableCollisionsBetweenLinkedBodies));
481 Vector3 frame1loc, Quaternion frame1rot,
482 Vector3 frame2loc, Quaternion frame2rot,
483 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies)
485 BulletWorldUnman worldu = world as BulletWorldUnman;
486 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
487 BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman;
488 return new BulletConstraintUnman(BSAPICPP.Create6DofSpringConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, frame1loc, frame1rot,
489 frame2loc, frame2rot, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies));
493 Vector3 pivotinA, Vector3 pivotinB,
494 Vector3 axisInA, Vector3 axisInB,
495 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies)
497 BulletWorldUnman worldu = world as BulletWorldUnman;
498 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
499 BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman;
500 return new BulletConstraintUnman(BSAPICPP.CreateHingeConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr,
501 pivotinA, pivotinB, axisInA, axisInB, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies));
505 Vector3 frame1loc, Quaternion frame1rot,
506 Vector3 frame2loc, Quaternion frame2rot,
507 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies)
509 BulletWorldUnman worldu = world as BulletWorldUnman;
510 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
511 BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman;
512 return new BulletConstraintUnman(BSAPICPP.CreateSliderConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, frame1loc, frame1rot,
513 frame2loc, frame2rot, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies));
517 Vector3 frame1loc, Quaternion frame1rot,
518 Vector3 frame2loc, Quaternion frame2rot,
519 bool disableCollisionsBetweenLinkedBodies)
521 BulletWorldUnman worldu = world as BulletWorldUnman;
522 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
523 BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman;
524 return new BulletConstraintUnman(BSAPICPP.CreateConeTwistConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, frame1loc, frame1rot,
525 frame2loc, frame2rot, disableCollisionsBetweenLinkedBodies));
529 Vector3 axisInA, Vector3 axisInB,
530 float ratio,
bool disableCollisionsBetweenLinkedBodies)
532 BulletWorldUnman worldu = world as BulletWorldUnman;
533 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
534 BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman;
535 return new BulletConstraintUnman(BSAPICPP.CreateGearConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, axisInA, axisInB,
536 ratio, disableCollisionsBetweenLinkedBodies));
540 Vector3 pivotInA, Vector3 pivotInB,
541 bool disableCollisionsBetweenLinkedBodies)
543 BulletWorldUnman worldu = world as BulletWorldUnman;
544 BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman;
545 BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman;
546 return new BulletConstraintUnman(BSAPICPP.CreatePoint2PointConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, pivotInA, pivotInB,
547 disableCollisionsBetweenLinkedBodies));
552 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
553 BSAPICPP.SetConstraintEnable2(constrainu.ptr, numericTrueFalse);
558 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
559 BSAPICPP.SetConstraintNumSolverIterations2(constrainu.ptr, iterations);
563 Vector3 frameA, Quaternion frameArot, Vector3 frameB, Quaternion frameBrot)
565 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
566 return BSAPICPP.SetFrames2(constrainu.ptr, frameA, frameArot, frameB, frameBrot);
571 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
572 return BSAPICPP.SetLinearLimits2(constrainu.ptr, low, hi);
577 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
578 return BSAPICPP.SetAngularLimits2(constrainu.ptr, low, hi);
583 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
584 return BSAPICPP.UseFrameOffset2(constrainu.ptr, enable);
589 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
590 return BSAPICPP.TranslationalLimitMotor2(constrainu.ptr, enable, targetVel, maxMotorForce);
595 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
596 return BSAPICPP.SetBreakingImpulseThreshold2(constrainu.ptr, threshold);
601 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
602 return BSAPICPP.HingeSetLimits2(constrainu.ptr, low, high, softness, bias, relaxation);
607 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
608 return BSAPICPP.ConstraintSpringEnable2(constrainu.ptr, index, numericTrueFalse);
613 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
614 return BSAPICPP.ConstraintSpringSetEquilibriumPoint2(constrainu.ptr, index, equilibriumPoint);
619 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
620 return BSAPICPP.ConstraintSpringSetStiffness2(constrainu.ptr, index, stiffnesss);
625 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
626 return BSAPICPP.ConstraintSpringSetDamping2(constrainu.ptr, index, damping);
631 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
632 return BSAPICPP.SliderSetLimits2(constrainu.ptr, lowerUpper, linAng, val);
637 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
638 return BSAPICPP.SliderSet2(constrainu.ptr, softRestDamp, dirLimOrtho, linAng, val);
643 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
644 return BSAPICPP.SliderMotorEnable2(constrainu.ptr, linAng, numericTrueFalse);
649 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
650 return BSAPICPP.SliderMotor2(constrainu.ptr, forceVel, linAng, val);
655 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
656 return BSAPICPP.CalculateTransforms2(constrainu.ptr);
661 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
662 return BSAPICPP.SetConstraintParam2(constrainu.ptr, paramIndex, value, axis);
667 BulletWorldUnman worldu = world as BulletWorldUnman;
668 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
669 return BSAPICPP.DestroyConstraint2(worldu.ptr, constrainu.ptr);
676 BulletWorldUnman worldu = world as BulletWorldUnman;
677 BulletBodyUnman bodyu = obj as BulletBodyUnman;
678 BSAPICPP.UpdateSingleAabb2(worldu.ptr, bodyu.ptr);
683 BulletWorldUnman worldu = world as BulletWorldUnman;
684 BSAPICPP.UpdateAabbs2(worldu.ptr);
689 BulletWorldUnman worldu = world as BulletWorldUnman;
690 return BSAPICPP.GetForceUpdateAllAabbs2(worldu.ptr);
695 BulletWorldUnman worldu = world as BulletWorldUnman;
696 BSAPICPP.SetForceUpdateAllAabbs2(worldu.ptr, force);
703 BulletWorldUnman worldu = world as BulletWorldUnman;
704 BulletBodyUnman bodyu = obj as BulletBodyUnman;
709 Vector3 origGrav = BSAPICPP.GetGravity2(bodyu.ptr);
711 bool ret = BSAPICPP.AddObjectToWorld2(worldu.ptr, bodyu.ptr);
715 BSAPICPP.SetGravity2(bodyu.ptr, origGrav);
716 obj.ApplyCollisionMask(world.physicsScene);
723 BulletWorldUnman worldu = world as BulletWorldUnman;
724 BulletBodyUnman bodyu = obj as BulletBodyUnman;
725 return BSAPICPP.RemoveObjectFromWorld2(worldu.ptr, bodyu.ptr);
730 BulletWorldUnman worldu = world as BulletWorldUnman;
731 BulletBodyUnman bodyu = obj as BulletBodyUnman;
732 return BSAPICPP.ClearCollisionProxyCache2(worldu.ptr, bodyu.ptr);
737 BulletWorldUnman worldu = world as BulletWorldUnman;
738 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
739 return BSAPICPP.AddConstraintToWorld2(worldu.ptr, constrainu.ptr, disableCollisionsBetweenLinkedObjects);
744 BulletWorldUnman worldu = world as BulletWorldUnman;
745 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
746 return BSAPICPP.RemoveConstraintFromWorld2(worldu.ptr, constrainu.ptr);
752 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
753 return BSAPICPP.GetAnisotripicFriction2(constrainu.ptr);
758 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
759 return BSAPICPP.SetAnisotripicFriction2(constrainu.ptr, frict);
764 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
765 return BSAPICPP.HasAnisotripicFriction2(constrainu.ptr);
770 BulletBodyUnman bodyu = obj as BulletBodyUnman;
771 BSAPICPP.SetContactProcessingThreshold2(bodyu.ptr, val);
776 BulletBodyUnman bodyu = obj as BulletBodyUnman;
777 return BSAPICPP.GetContactProcessingThreshold2(bodyu.ptr);
782 BulletBodyUnman bodyu = obj as BulletBodyUnman;
783 return BSAPICPP.IsStaticObject2(bodyu.ptr);
788 BulletBodyUnman bodyu = obj as BulletBodyUnman;
789 return BSAPICPP.IsKinematicObject2(bodyu.ptr);
794 BulletBodyUnman bodyu = obj as BulletBodyUnman;
795 return BSAPICPP.IsStaticOrKinematicObject2(bodyu.ptr);
800 BulletBodyUnman bodyu = obj as BulletBodyUnman;
801 return BSAPICPP.HasContactResponse2(bodyu.ptr);
806 BulletWorldUnman worldu = world as BulletWorldUnman;
807 BulletBodyUnman bodyu = obj as BulletBodyUnman;
808 BulletShapeUnman shapeu = shape as BulletShapeUnman;
809 if (worldu != null && bodyu != null)
813 BSAPICPP.SetCollisionShape2(worldu.ptr, bodyu.ptr, shapeu.ptr);
815 BSAPICPP.SetCollisionShape2(worldu.ptr, bodyu.ptr, IntPtr.Zero);
821 BulletBodyUnman bodyu = obj as BulletBodyUnman;
822 return new BulletShapeUnman(BSAPICPP.GetCollisionShape2(bodyu.ptr), BSPhysicsShapeType.SHAPE_UNKNOWN);
827 BulletBodyUnman bodyu = obj as BulletBodyUnman;
828 return BSAPICPP.GetActivationState2(bodyu.ptr);
833 BulletBodyUnman bodyu = obj as BulletBodyUnman;
834 BSAPICPP.SetActivationState2(bodyu.ptr, state);
839 BulletBodyUnman bodyu = obj as BulletBodyUnman;
840 BSAPICPP.SetDeactivationTime2(bodyu.ptr, dtime);
845 BulletBodyUnman bodyu = obj as BulletBodyUnman;
846 return BSAPICPP.GetDeactivationTime2(bodyu.ptr);
851 BulletBodyUnman bodyu = obj as BulletBodyUnman;
852 BSAPICPP.ForceActivationState2(bodyu.ptr, state);
857 BulletBodyUnman bodyu = obj as BulletBodyUnman;
858 BSAPICPP.Activate2(bodyu.ptr, forceActivation);
863 BulletBodyUnman bodyu = obj as BulletBodyUnman;
864 return BSAPICPP.IsActive2(bodyu.ptr);
869 BulletBodyUnman bodyu = obj as BulletBodyUnman;
870 BSAPICPP.SetRestitution2(bodyu.ptr, val);
875 BulletBodyUnman bodyu = obj as BulletBodyUnman;
876 return BSAPICPP.GetRestitution2(bodyu.ptr);
881 BulletBodyUnman bodyu = obj as BulletBodyUnman;
882 BSAPICPP.SetFriction2(bodyu.ptr, val);
887 BulletBodyUnman bodyu = obj as BulletBodyUnman;
888 return BSAPICPP.GetFriction2(bodyu.ptr);
893 BulletBodyUnman bodyu = obj as BulletBodyUnman;
894 return BSAPICPP.GetPosition2(bodyu.ptr);
899 BulletBodyUnman bodyu = obj as BulletBodyUnman;
900 return BSAPICPP.GetOrientation2(bodyu.ptr);
905 BulletBodyUnman bodyu = obj as BulletBodyUnman;
906 BSAPICPP.SetTranslation2(bodyu.ptr, position,
rotation);
925 BulletBodyUnman bodyu = obj as BulletBodyUnman;
926 BSAPICPP.SetInterpolationLinearVelocity2(bodyu.ptr, vel);
931 BulletBodyUnman bodyu = obj as BulletBodyUnman;
932 BSAPICPP.SetInterpolationAngularVelocity2(bodyu.ptr, vel);
937 BulletBodyUnman bodyu = obj as BulletBodyUnman;
938 BSAPICPP.SetInterpolationVelocity2(bodyu.ptr, linearVel, angularVel);
943 BulletBodyUnman bodyu = obj as BulletBodyUnman;
944 return BSAPICPP.GetHitFraction2(bodyu.ptr);
949 BulletBodyUnman bodyu = obj as BulletBodyUnman;
950 BSAPICPP.SetHitFraction2(bodyu.ptr, val);
955 BulletBodyUnman bodyu = obj as BulletBodyUnman;
956 return BSAPICPP.GetCollisionFlags2(bodyu.ptr);
961 BulletBodyUnman bodyu = obj as BulletBodyUnman;
962 return BSAPICPP.SetCollisionFlags2(bodyu.ptr, flags);
967 BulletBodyUnman bodyu = obj as BulletBodyUnman;
968 return BSAPICPP.AddToCollisionFlags2(bodyu.ptr, flags);
973 BulletBodyUnman bodyu = obj as BulletBodyUnman;
974 return BSAPICPP.RemoveFromCollisionFlags2(bodyu.ptr, flags);
979 BulletBodyUnman bodyu = obj as BulletBodyUnman;
980 return BSAPICPP.GetCcdMotionThreshold2(bodyu.ptr);
986 BulletBodyUnman bodyu = obj as BulletBodyUnman;
987 BSAPICPP.SetCcdMotionThreshold2(bodyu.ptr, val);
992 BulletBodyUnman bodyu = obj as BulletBodyUnman;
993 return BSAPICPP.GetCcdSweptSphereRadius2(bodyu.ptr);
998 BulletBodyUnman bodyu = obj as BulletBodyUnman;
999 BSAPICPP.SetCcdSweptSphereRadius2(bodyu.ptr, val);
1004 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1005 return BSAPICPP.GetUserPointer2(bodyu.ptr);
1010 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1011 BSAPICPP.SetUserPointer2(bodyu.ptr, val);
1018 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1019 BSAPICPP.ApplyGravity2(bodyu.ptr);
1024 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1025 BSAPICPP.SetGravity2(bodyu.ptr, val);
1030 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1031 return BSAPICPP.GetGravity2(bodyu.ptr);
1036 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1037 BSAPICPP.SetDamping2(bodyu.ptr, lin_damping, ang_damping);
1042 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1043 BSAPICPP.SetLinearDamping2(bodyu.ptr, lin_damping);
1048 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1049 BSAPICPP.SetAngularDamping2(bodyu.ptr, ang_damping);
1054 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1055 return BSAPICPP.GetLinearDamping2(bodyu.ptr);
1060 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1061 return BSAPICPP.GetAngularDamping2(bodyu.ptr);
1066 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1067 return BSAPICPP.GetLinearSleepingThreshold2(bodyu.ptr);
1072 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1073 BSAPICPP.ApplyDamping2(bodyu.ptr, timeStep);
1078 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1079 BSAPICPP.SetMassProps2(bodyu.ptr, mass, inertia);
1084 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1085 return BSAPICPP.GetLinearFactor2(bodyu.ptr);
1090 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1091 BSAPICPP.SetLinearFactor2(bodyu.ptr, factor);
1096 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1097 BSAPICPP.SetCenterOfMassByPosRot2(bodyu.ptr, pos, rot);
1104 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1105 BSAPICPP.ApplyCentralForce2(bodyu.ptr, force);
1111 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1112 BSAPICPP.SetObjectForce2(bodyu.ptr, force);
1117 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1118 return BSAPICPP.GetTotalForce2(bodyu.ptr);
1123 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1124 return BSAPICPP.GetTotalTorque2(bodyu.ptr);
1129 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1130 return BSAPICPP.GetInvInertiaDiagLocal2(bodyu.ptr);
1135 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1136 BSAPICPP.SetInvInertiaDiagLocal2(bodyu.ptr, inert);
1141 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1142 BSAPICPP.SetSleepingThresholds2(bodyu.ptr, lin_threshold, ang_threshold);
1148 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1149 BSAPICPP.ApplyTorque2(bodyu.ptr, torque);
1157 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1158 BSAPICPP.ApplyForce2(bodyu.ptr, force, pos);
1165 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1166 BSAPICPP.ApplyCentralImpulse2(bodyu.ptr, imp);
1173 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1174 BSAPICPP.ApplyTorqueImpulse2(bodyu.ptr, imp);
1182 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1183 BSAPICPP.ApplyImpulse2(bodyu.ptr, imp, pos);
1188 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1189 BSAPICPP.ClearForces2(bodyu.ptr);
1194 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1195 BSAPICPP.ClearAllForces2(bodyu.ptr);
1200 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1201 BSAPICPP.UpdateInertiaTensor2(bodyu.ptr);
1206 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1207 return BSAPICPP.GetLinearVelocity2(bodyu.ptr);
1212 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1213 return BSAPICPP.GetAngularVelocity2(bodyu.ptr);
1218 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1219 BSAPICPP.SetLinearVelocity2(bodyu.ptr, vel);
1224 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1225 BSAPICPP.SetAngularVelocity2(bodyu.ptr, angularVelocity);
1230 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1231 return BSAPICPP.GetVelocityInLocalPoint2(bodyu.ptr, pos);
1236 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1237 BSAPICPP.Translate2(bodyu.ptr, trans);
1242 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1243 BSAPICPP.UpdateDeactivation2(bodyu.ptr, timeStep);
1248 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1249 return BSAPICPP.WantsSleeping2(bodyu.ptr);
1254 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1255 BSAPICPP.SetAngularFactor2(bodyu.ptr, factor);
1260 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1261 BSAPICPP.SetAngularFactorV2(bodyu.ptr, factor);
1266 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1267 return BSAPICPP.GetAngularFactor2(bodyu.ptr);
1272 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1273 return BSAPICPP.IsInWorld2(bodyu.ptr);
1278 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1279 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
1280 BSAPICPP.AddConstraintRef2(bodyu.ptr, constrainu.ptr);
1285 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1286 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
1287 BSAPICPP.RemoveConstraintRef2(bodyu.ptr, constrainu.ptr);
1292 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1293 return new BulletConstraintUnman(BSAPICPP.GetConstraintRef2(bodyu.ptr, index));
1298 BulletBodyUnman bodyu = obj as BulletBodyUnman;
1299 return BSAPICPP.GetNumConstraintRefs2(bodyu.ptr);
1304 BulletBodyUnman bodyu = body as BulletBodyUnman;
1305 return BSAPICPP.SetCollisionGroupMask2(bodyu.ptr, filter, mask);
1313 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1314 return BSAPICPP.GetAngularMotionDisc2(shapeu.ptr);
1319 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1320 return BSAPICPP.GetContactBreakingThreshold2(shapeu.ptr, defaultFactor);
1325 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1326 return BSAPICPP.IsPolyhedral2(shapeu.ptr);
1331 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1332 return BSAPICPP.IsConvex2d2(shapeu.ptr);
1337 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1338 return BSAPICPP.IsConvex2(shapeu.ptr);
1343 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1344 return BSAPICPP.IsNonMoving2(shapeu.ptr);
1349 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1350 return BSAPICPP.IsConcave2(shapeu.ptr);
1355 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1356 return BSAPICPP.IsCompound2(shapeu.ptr);
1361 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1362 return BSAPICPP.IsSoftBody2(shapeu.ptr);
1367 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1368 return BSAPICPP.IsInfinite2(shapeu.ptr);
1373 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1374 BSAPICPP.SetLocalScaling2(shapeu.ptr, scale);
1379 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1380 return BSAPICPP.GetLocalScaling2(shapeu.ptr);
1385 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1386 return BSAPICPP.CalculateLocalInertia2(shapeu.ptr, mass);
1391 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1392 return BSAPICPP.GetShapeType2(shapeu.ptr);
1397 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1398 BSAPICPP.SetMargin2(shapeu.ptr, val);
1403 BulletShapeUnman shapeu = shape as BulletShapeUnman;
1404 return BSAPICPP.GetMargin2(shapeu.ptr);
1411 BulletWorldUnman worldu = world as BulletWorldUnman;
1412 BulletBodyUnman bodyu = collisionObject as BulletBodyUnman;
1413 BSAPICPP.DumpRigidBody2(worldu.ptr, bodyu.ptr);
1418 BulletWorldUnman worldu = world as BulletWorldUnman;
1419 BulletShapeUnman shapeu = collisionShape as BulletShapeUnman;
1420 BSAPICPP.DumpCollisionShape2(worldu.ptr, shapeu.ptr);
1425 BulletWorldUnman worldu = world as BulletWorldUnman;
1426 BulletConstraintUnman constrainu = constrain as BulletConstraintUnman;
1427 BSAPICPP.DumpConstraint2(worldu.ptr, constrainu.ptr);
1432 BulletWorldUnman worldu = world as BulletWorldUnman;
1433 BSAPICPP.DumpActivationInfo2(worldu.ptr);
1438 BulletWorldUnman worldu = world as BulletWorldUnman;
1439 BSAPICPP.DumpAllInfo2(worldu.ptr);
1444 BulletWorldUnman worldu = world as BulletWorldUnman;
1445 BSAPICPP.DumpPhysicsStatistics2(worldu.ptr);
1449 BulletWorldUnman worldu = world as BulletWorldUnman;
1450 BSAPICPP.ResetBroadphasePool(worldu.ptr);
1454 BulletWorldUnman worldu = world as BulletWorldUnman;
1455 BSAPICPP.ResetConstraintSolver(worldu.ptr);
1464 static class BSAPICPP
1468 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
1469 public delegate
void DebugLogCallback([MarshalAs(UnmanagedType.LPStr)]
string msg);
1473 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1474 public static extern IntPtr Initialize2(Vector3 maxPosition, IntPtr parms,
1475 int maxCollisions, IntPtr collisionArray,
1476 int maxUpdates, IntPtr updateArray,
1477 DebugLogCallback logRoutine);
1479 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1480 public static extern int PhysicsStep2(IntPtr world,
float timeStep,
int maxSubSteps,
float fixedTimeStep,
1481 out
int updatedEntityCount, out
int collidersCount);
1483 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1484 public static extern void Shutdown2(IntPtr sim);
1486 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1487 public static extern bool PushUpdate2(IntPtr obj);
1489 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1490 public static extern bool UpdateParameter2(IntPtr world, uint localID, String parm,
float value);
1494 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1495 public static extern IntPtr CreateMeshShape2(IntPtr world,
1496 int indicesCount, [MarshalAs(UnmanagedType.LPArray)]
int[] indices,
1497 int verticesCount, [MarshalAs(UnmanagedType.LPArray)]
float[] vertices );
1499 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1500 public static extern IntPtr CreateGImpactShape2(IntPtr world,
1501 int indicesCount, [MarshalAs(UnmanagedType.LPArray)]
int[] indices,
1502 int verticesCount, [MarshalAs(UnmanagedType.LPArray)]
float[] vertices );
1504 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1505 public static extern IntPtr CreateHullShape2(IntPtr world,
1506 int hullCount, [MarshalAs(UnmanagedType.LPArray)]
float[] hulls);
1508 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1509 public static extern IntPtr BuildHullShapeFromMesh2(IntPtr world, IntPtr meshShape,
HACDParams parms);
1511 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1512 public static extern IntPtr BuildConvexHullShapeFromMesh2(IntPtr world, IntPtr meshShape);
1514 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1515 public static extern IntPtr CreateConvexHullShape2(IntPtr world,
1516 int indicesCount, [MarshalAs(UnmanagedType.LPArray)]
int[] indices,
1517 int verticesCount, [MarshalAs(UnmanagedType.LPArray)]
float[] vertices );
1519 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1520 public static extern IntPtr BuildNativeShape2(IntPtr world,
ShapeData shapeData);
1522 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1523 public static extern bool IsNativeShape2(IntPtr shape);
1525 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1526 public static extern void SetShapeCollisionMargin(IntPtr shape,
float margin);
1528 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1529 public static extern IntPtr BuildCapsuleShape2(IntPtr world,
float radius,
float height, Vector3 scale);
1531 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1532 public static extern IntPtr CreateCompoundShape2(IntPtr sim,
bool enableDynamicAabbTree);
1534 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1535 public static extern int GetNumberOfCompoundChildren2(IntPtr cShape);
1537 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1538 public static extern void AddChildShapeToCompoundShape2(IntPtr cShape, IntPtr addShape, Vector3 pos, Quaternion rot);
1540 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1541 public static extern IntPtr GetChildShapeFromCompoundShapeIndex2(IntPtr cShape,
int indx);
1543 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1544 public static extern IntPtr RemoveChildShapeFromCompoundShapeIndex2(IntPtr cShape,
int indx);
1546 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1547 public static extern void RemoveChildShapeFromCompoundShape2(IntPtr cShape, IntPtr removeShape);
1549 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1550 public static extern void UpdateChildTransform2(IntPtr pShape,
int childIndex, Vector3 pos, Quaternion rot,
bool shouldRecalculateLocalAabb);
1552 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1553 public static extern void RecalculateCompoundShapeLocalAabb2(IntPtr cShape);
1555 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1556 public static extern IntPtr DuplicateCollisionShape2(IntPtr sim, IntPtr srcShape, uint
id);
1558 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1559 public static extern bool DeleteCollisionShape2(IntPtr world, IntPtr shape);
1561 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1562 public static extern int GetBodyType2(IntPtr obj);
1564 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1565 public static extern IntPtr CreateBodyFromShape2(IntPtr sim, IntPtr shape, uint
id, Vector3 pos, Quaternion rot);
1567 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1568 public static extern IntPtr CreateBodyWithDefaultMotionState2(IntPtr shape, uint
id, Vector3 pos, Quaternion rot);
1570 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1571 public static extern IntPtr CreateGhostFromShape2(IntPtr sim, IntPtr shape, uint
id, Vector3 pos, Quaternion rot);
1573 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1574 public static extern void DestroyObject2(IntPtr sim, IntPtr obj);
1578 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1579 public static extern IntPtr CreateGroundPlaneShape2(uint
id,
float height,
float collisionMargin);
1581 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1582 public static extern IntPtr CreateTerrainShape2(uint
id, Vector3 size,
float minHeight,
float maxHeight,
1583 [MarshalAs(UnmanagedType.LPArray)]
float[] heightMap,
1584 float scaleFactor,
float collisionMargin);
1588 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1589 public static extern IntPtr Create6DofConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2,
1590 Vector3 frame1loc, Quaternion frame1rot,
1591 Vector3 frame2loc, Quaternion frame2rot,
1592 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies);
1594 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1595 public static extern IntPtr Create6DofConstraintToPoint2(IntPtr world, IntPtr obj1, IntPtr obj2,
1597 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies);
1599 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1600 public static extern IntPtr Create6DofConstraintFixed2(IntPtr world, IntPtr obj1,
1601 Vector3 frameInBloc, Quaternion frameInBrot,
1602 bool useLinearReferenceFrameB,
bool disableCollisionsBetweenLinkedBodies);
1604 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1605 public static extern IntPtr Create6DofSpringConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2,
1606 Vector3 frame1loc, Quaternion frame1rot,
1607 Vector3 frame2loc, Quaternion frame2rot,
1608 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies);
1610 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1611 public static extern IntPtr CreateHingeConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2,
1612 Vector3 pivotinA, Vector3 pivotinB,
1613 Vector3 axisInA, Vector3 axisInB,
1614 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies);
1616 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1617 public static extern IntPtr CreateSliderConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2,
1618 Vector3 frameInAloc, Quaternion frameInArot,
1619 Vector3 frameInBloc, Quaternion frameInBrot,
1620 bool useLinearReferenceFrameA,
bool disableCollisionsBetweenLinkedBodies);
1622 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1623 public static extern IntPtr CreateConeTwistConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2,
1624 Vector3 frameInAloc, Quaternion frameInArot,
1625 Vector3 frameInBloc, Quaternion frameInBrot,
1626 bool disableCollisionsBetweenLinkedBodies);
1628 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1629 public static extern IntPtr CreateGearConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2,
1630 Vector3 axisInA, Vector3 axisInB,
1631 float ratio,
bool disableCollisionsBetweenLinkedBodies);
1633 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1634 public static extern IntPtr CreatePoint2PointConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2,
1635 Vector3 pivotInA, Vector3 pivotInB,
1636 bool disableCollisionsBetweenLinkedBodies);
1639 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1640 public static extern void SetConstraintEnable2(IntPtr constrain,
float numericTrueFalse);
1642 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1643 public static extern void SetConstraintNumSolverIterations2(IntPtr constrain,
float iterations);
1645 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1646 public static extern bool SetFrames2(IntPtr constrain,
1647 Vector3 frameA, Quaternion frameArot, Vector3 frameB, Quaternion frameBrot);
1649 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1650 public static extern bool SetLinearLimits2(IntPtr constrain, Vector3 low, Vector3 hi);
1652 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1653 public static extern bool SetAngularLimits2(IntPtr constrain, Vector3 low, Vector3 hi);
1655 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1656 public static extern bool UseFrameOffset2(IntPtr constrain,
float enable);
1658 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1659 public static extern bool TranslationalLimitMotor2(IntPtr constrain,
float enable,
float targetVel,
float maxMotorForce);
1661 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1662 public static extern bool SetBreakingImpulseThreshold2(IntPtr constrain,
float threshold);
1664 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1665 public static extern bool HingeSetLimits2(IntPtr constrain,
float low,
float high,
float softness,
float bias,
float relaxation);
1667 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1668 public static extern bool ConstraintSpringEnable2(IntPtr constrain,
int index,
float numericTrueFalse);
1670 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1671 public static extern bool ConstraintSpringSetEquilibriumPoint2(IntPtr constrain,
int index,
float equilibriumPoint);
1673 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1674 public static extern bool ConstraintSpringSetStiffness2(IntPtr constrain,
int index,
float stiffness);
1676 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1677 public static extern bool ConstraintSpringSetDamping2(IntPtr constrain,
int index,
float damping);
1679 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1680 public static extern bool SliderSetLimits2(IntPtr constrain,
int lowerUpper,
int linAng,
float val);
1682 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1683 public static extern bool SliderSet2(IntPtr constrain,
int softRestDamp,
int dirLimOrtho,
int linAng,
float val);
1685 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1686 public static extern bool SliderMotorEnable2(IntPtr constrain,
int linAng,
float numericTrueFalse);
1688 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1689 public static extern bool SliderMotor2(IntPtr constrain,
int forceVel,
int linAng,
float val);
1691 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1692 public static extern bool CalculateTransforms2(IntPtr constrain);
1694 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1697 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1698 public static extern bool DestroyConstraint2(IntPtr world, IntPtr constrain);
1702 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1703 public static extern void UpdateSingleAabb2(IntPtr world, IntPtr obj);
1705 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1706 public static extern void UpdateAabbs2(IntPtr world);
1708 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1709 public static extern bool GetForceUpdateAllAabbs2(IntPtr world);
1711 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1712 public static extern void SetForceUpdateAllAabbs2(IntPtr world,
bool force);
1716 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1717 public static extern bool AddObjectToWorld2(IntPtr world, IntPtr obj);
1719 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1720 public static extern bool RemoveObjectFromWorld2(IntPtr world, IntPtr obj);
1722 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1723 public static extern bool ClearCollisionProxyCache2(IntPtr world, IntPtr obj);
1725 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1726 public static extern bool AddConstraintToWorld2(IntPtr world, IntPtr constrain,
bool disableCollisionsBetweenLinkedObjects);
1728 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1729 public static extern bool RemoveConstraintFromWorld2(IntPtr world, IntPtr constrain);
1732 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1733 public static extern Vector3 GetAnisotripicFriction2(IntPtr constrain);
1735 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1736 public static extern Vector3 SetAnisotripicFriction2(IntPtr constrain, Vector3 frict);
1738 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1739 public static extern bool HasAnisotripicFriction2(IntPtr constrain);
1741 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1742 public static extern void SetContactProcessingThreshold2(IntPtr obj,
float val);
1744 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1745 public static extern float GetContactProcessingThreshold2(IntPtr obj);
1747 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1748 public static extern bool IsStaticObject2(IntPtr obj);
1750 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1751 public static extern bool IsKinematicObject2(IntPtr obj);
1753 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1754 public static extern bool IsStaticOrKinematicObject2(IntPtr obj);
1756 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1757 public static extern bool HasContactResponse2(IntPtr obj);
1759 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1760 public static extern void SetCollisionShape2(IntPtr sim, IntPtr obj, IntPtr shape);
1762 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1763 public static extern IntPtr GetCollisionShape2(IntPtr obj);
1765 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1766 public static extern int GetActivationState2(IntPtr obj);
1768 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1769 public static extern void SetActivationState2(IntPtr obj,
int state);
1771 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1772 public static extern void SetDeactivationTime2(IntPtr obj,
float dtime);
1774 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1775 public static extern float GetDeactivationTime2(IntPtr obj);
1777 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1778 public static extern void ForceActivationState2(IntPtr obj,
ActivationState state);
1780 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1781 public static extern void Activate2(IntPtr obj,
bool forceActivation);
1783 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1784 public static extern bool IsActive2(IntPtr obj);
1786 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1787 public static extern void SetRestitution2(IntPtr obj,
float val);
1789 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1790 public static extern float GetRestitution2(IntPtr obj);
1792 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1793 public static extern void SetFriction2(IntPtr obj,
float val);
1795 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1796 public static extern float GetFriction2(IntPtr obj);
1806 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1807 public static extern Vector3 GetPosition2(IntPtr obj);
1809 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1810 public static extern Quaternion GetOrientation2(IntPtr obj);
1812 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1813 public static extern void SetTranslation2(IntPtr obj, Vector3 position, Quaternion
rotation);
1815 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1816 public static extern IntPtr GetBroadphaseHandle2(IntPtr obj);
1818 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1819 public static extern void SetBroadphaseHandle2(IntPtr obj, IntPtr handle);
1829 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1830 public static extern void SetInterpolationLinearVelocity2(IntPtr obj, Vector3 vel);
1832 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1833 public static extern void SetInterpolationAngularVelocity2(IntPtr obj, Vector3 vel);
1835 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1836 public static extern void SetInterpolationVelocity2(IntPtr obj, Vector3 linearVel, Vector3 angularVel);
1838 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1839 public static extern float GetHitFraction2(IntPtr obj);
1841 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1842 public static extern void SetHitFraction2(IntPtr obj,
float val);
1844 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1845 public static extern CollisionFlags GetCollisionFlags2(IntPtr obj);
1847 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1850 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1853 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1856 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1857 public static extern float GetCcdMotionThreshold2(IntPtr obj);
1859 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1860 public static extern void SetCcdMotionThreshold2(IntPtr obj,
float val);
1862 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1863 public static extern float GetCcdSweptSphereRadius2(IntPtr obj);
1865 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1866 public static extern void SetCcdSweptSphereRadius2(IntPtr obj,
float val);
1868 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1869 public static extern IntPtr GetUserPointer2(IntPtr obj);
1871 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1872 public static extern void SetUserPointer2(IntPtr obj, IntPtr val);
1876 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1877 public static extern void ApplyGravity2(IntPtr obj);
1879 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1880 public static extern void SetGravity2(IntPtr obj, Vector3 val);
1882 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1883 public static extern Vector3 GetGravity2(IntPtr obj);
1885 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1886 public static extern void SetDamping2(IntPtr obj,
float lin_damping,
float ang_damping);
1888 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1889 public static extern void SetLinearDamping2(IntPtr obj,
float lin_damping);
1891 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1892 public static extern void SetAngularDamping2(IntPtr obj,
float ang_damping);
1894 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1895 public static extern float GetLinearDamping2(IntPtr obj);
1897 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1898 public static extern float GetAngularDamping2(IntPtr obj);
1900 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1901 public static extern float GetLinearSleepingThreshold2(IntPtr obj);
1903 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1904 public static extern float GetAngularSleepingThreshold2(IntPtr obj);
1906 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1907 public static extern void ApplyDamping2(IntPtr obj,
float timeStep);
1909 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1910 public static extern void SetMassProps2(IntPtr obj,
float mass, Vector3 inertia);
1912 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1913 public static extern Vector3 GetLinearFactor2(IntPtr obj);
1915 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1916 public static extern void SetLinearFactor2(IntPtr obj, Vector3 factor);
1923 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1924 public static extern void SetCenterOfMassByPosRot2(IntPtr obj, Vector3 pos, Quaternion rot);
1927 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1928 public static extern void ApplyCentralForce2(IntPtr obj, Vector3 force);
1931 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1932 public static extern void SetObjectForce2(IntPtr obj, Vector3 force);
1934 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1935 public static extern Vector3 GetTotalForce2(IntPtr obj);
1937 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1938 public static extern Vector3 GetTotalTorque2(IntPtr obj);
1940 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1941 public static extern Vector3 GetInvInertiaDiagLocal2(IntPtr obj);
1943 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1944 public static extern void SetInvInertiaDiagLocal2(IntPtr obj, Vector3 inert);
1946 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1947 public static extern void SetSleepingThresholds2(IntPtr obj,
float lin_threshold,
float ang_threshold);
1949 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1950 public static extern void ApplyTorque2(IntPtr obj, Vector3 torque);
1953 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1954 public static extern void ApplyForce2(IntPtr obj, Vector3 force, Vector3 pos);
1957 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1958 public static extern void ApplyCentralImpulse2(IntPtr obj, Vector3 imp);
1961 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1962 public static extern void ApplyTorqueImpulse2(IntPtr obj, Vector3 imp);
1965 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1966 public static extern void ApplyImpulse2(IntPtr obj, Vector3 imp, Vector3 pos);
1968 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1969 public static extern void ClearForces2(IntPtr obj);
1971 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1972 public static extern void ClearAllForces2(IntPtr obj);
1974 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1975 public static extern void UpdateInertiaTensor2(IntPtr obj);
1977 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1978 public static extern Vector3 GetCenterOfMassPosition2(IntPtr obj);
1985 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1986 public static extern Vector3 GetLinearVelocity2(IntPtr obj);
1988 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1989 public static extern Vector3 GetAngularVelocity2(IntPtr obj);
1991 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1992 public static extern void SetLinearVelocity2(IntPtr obj, Vector3 val);
1994 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1995 public static extern void SetAngularVelocity2(IntPtr obj, Vector3 angularVelocity);
1997 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
1998 public static extern Vector3 GetVelocityInLocalPoint2(IntPtr obj, Vector3 pos);
2000 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2001 public static extern void Translate2(IntPtr obj, Vector3 trans);
2003 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2004 public static extern void UpdateDeactivation2(IntPtr obj,
float timeStep);
2006 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2007 public static extern bool WantsSleeping2(IntPtr obj);
2009 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2010 public static extern void SetAngularFactor2(IntPtr obj,
float factor);
2012 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2013 public static extern void SetAngularFactorV2(IntPtr obj, Vector3 factor);
2015 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2016 public static extern Vector3 GetAngularFactor2(IntPtr obj);
2018 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2019 public static extern bool IsInWorld2(IntPtr obj);
2021 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2022 public static extern void AddConstraintRef2(IntPtr obj, IntPtr constrain);
2024 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2025 public static extern void RemoveConstraintRef2(IntPtr obj, IntPtr constrain);
2027 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2028 public static extern IntPtr GetConstraintRef2(IntPtr obj,
int index);
2030 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2031 public static extern int GetNumConstraintRefs2(IntPtr obj);
2033 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2034 public static extern bool SetCollisionGroupMask2(IntPtr body, uint filter, uint mask);
2039 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2040 public static extern float GetAngularMotionDisc2(IntPtr shape);
2042 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2043 public static extern float GetContactBreakingThreshold2(IntPtr shape,
float defaultFactor);
2045 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2046 public static extern bool IsPolyhedral2(IntPtr shape);
2048 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2049 public static extern bool IsConvex2d2(IntPtr shape);
2051 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2052 public static extern bool IsConvex2(IntPtr shape);
2054 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2055 public static extern bool IsNonMoving2(IntPtr shape);
2057 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2058 public static extern bool IsConcave2(IntPtr shape);
2060 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2061 public static extern bool IsCompound2(IntPtr shape);
2063 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2064 public static extern bool IsSoftBody2(IntPtr shape);
2066 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2067 public static extern bool IsInfinite2(IntPtr shape);
2069 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2070 public static extern void SetLocalScaling2(IntPtr shape, Vector3 scale);
2072 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2073 public static extern Vector3 GetLocalScaling2(IntPtr shape);
2075 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2076 public static extern Vector3 CalculateLocalInertia2(IntPtr shape,
float mass);
2078 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2079 public static extern int GetShapeType2(IntPtr shape);
2081 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2082 public static extern void SetMargin2(IntPtr shape,
float val);
2084 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2085 public static extern float GetMargin2(IntPtr shape);
2089 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2090 public static extern void DumpRigidBody2(IntPtr sim, IntPtr collisionObject);
2092 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2093 public static extern void DumpCollisionShape2(IntPtr sim, IntPtr collisionShape);
2095 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2096 public static extern void DumpMapInfo2(IntPtr sim, IntPtr manInfo);
2098 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2099 public static extern void DumpConstraint2(IntPtr sim, IntPtr constrain);
2101 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2102 public static extern void DumpActivationInfo2(IntPtr sim);
2104 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2105 public static extern void DumpAllInfo2(IntPtr sim);
2107 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2108 public static extern void DumpPhysicsStatistics2(IntPtr sim);
2110 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2111 public static extern void ResetBroadphasePool(IntPtr sim);
2113 [DllImport(
"BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
2114 public static extern void ResetConstraintSolver(IntPtr sim);
override bool DestroyConstraint(BulletWorld world, BulletConstraint constrain)
override BulletShape BuildCapsuleShape(BulletWorld world, float radius, float height, Vector3 scale)
override bool IsInWorld(BulletWorld world, BulletBody obj)
override bool SetFrames(BulletConstraint constrain, Vector3 frameA, Quaternion frameArot, Vector3 frameB, Quaternion frameBrot)
override int GetShapeType(BulletShape shape)
override void AddConstraintRef(BulletBody obj, BulletConstraint constrain)
override void SetInterpolationAngularVelocity(BulletBody obj, Vector3 vel)
override BulletConstraint CreateSliderConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 frame1loc, Quaternion frame1rot, Vector3 frame2loc, Quaternion frame2rot, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies)
override void ClearForces(BulletBody obj)
override BulletConstraint Create6DofConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 frame1loc, Quaternion frame1rot, Vector3 frame2loc, Quaternion frame2rot, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies)
override void SetActivationState(BulletBody obj, int state)
override bool SpringSetStiffness(BulletConstraint constrain, int index, float stiffnesss)
override void SetMassProps(BulletBody obj, float mass, Vector3 inertia)
override CollisionFlags SetCollisionFlags(BulletBody obj, CollisionFlags flags)
override bool IsConvex2d(BulletShape shape)
override bool IsActive(BulletBody obj)
override void ApplyTorque(BulletBody obj, Vector3 torque)
override void DumpCollisionShape(BulletWorld world, BulletShape collisionShape)
override BulletBody CreateGhostFromShape(BulletWorld world, BulletShape shape, uint id, Vector3 pos, Quaternion rot)
override void ApplyCentralForce(BulletBody obj, Vector3 force)
override float GetLinearDamping(BulletBody obj)
override bool IsPolyhedral(BulletShape shape)
override bool PushUpdate(BulletBody obj)
override void UpdateDeactivation(BulletBody obj, float timeStep)
override bool HingeSetLimits(BulletConstraint constrain, float low, float high, float softness, float bias, float relaxation)
override void SetShapeCollisionMargin(BulletShape shape, float margin)
override BulletConstraint CreateHingeConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 pivotinA, Vector3 pivotinB, Vector3 axisInA, Vector3 axisInB, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies)
override void DumpActivationInfo(BulletWorld world)
override BulletShape RemoveChildShapeFromCompoundShapeIndex(BulletShape shape, int indx)
override void SetContactProcessingThreshold(BulletBody obj, float val)
override bool IsNativeShape(BulletShape shape)
override void Shutdown(BulletWorld world)
override void SetLinearDamping(BulletBody obj, float lin_damping)
override void SetDeactivationTime(BulletBody obj, float dtime)
override BulletShape GetChildShapeFromCompoundShapeIndex(BulletShape shape, int indx)
override void ApplyDamping(BulletBody obj, float timeStep)
override void RemoveConstraintRef(BulletBody obj, BulletConstraint constrain)
BSAPIUnman(string paramName, BSScene physScene)
override Vector3 GetAnisotripicFriction(BulletConstraint constrain)
override void UpdateAabbs(BulletWorld world)
override void SetAngularVelocity(BulletBody obj, Vector3 angularVelocity)
override bool SliderMotorEnable(BulletConstraint constrain, int linAng, float numericTrueFalse)
override bool AddObjectToWorld(BulletWorld world, BulletBody obj)
override bool DeleteCollisionShape(BulletWorld world, BulletShape shape)
override CollisionFlags AddToCollisionFlags(BulletBody obj, CollisionFlags flags)
override Vector3 GetLocalScaling(BulletShape shape)
override void SetSleepingThresholds(BulletBody obj, float lin_threshold, float ang_threshold)
override BulletShape BuildHullShapeFromMesh(BulletWorld world, BulletShape meshShape, HACDParams parms)
override BulletShape CreateConvexHullShape(BulletWorld world, int indicesCount, int[] indices, int verticesCount, float[] vertices)
override void UpdateSingleAabb(BulletWorld world, BulletBody obj)
override void SetUserPointer(BulletBody obj, IntPtr val)
override void SetCcdSweptSphereRadius(BulletBody obj, float val)
override bool SpringSetDamping(BulletConstraint constrain, int index, float damping)
override BulletConstraint CreateConeTwistConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 frame1loc, Quaternion frame1rot, Vector3 frame2loc, Quaternion frame2rot, bool disableCollisionsBetweenLinkedBodies)
override void SetGravity(BulletBody obj, Vector3 val)
override void SetCenterOfMassByPosRot(BulletBody obj, Vector3 pos, Quaternion rot)
override void ResetConstraintSolver(BulletWorld world)
override CollisionFlags RemoveFromCollisionFlags(BulletBody obj, CollisionFlags flags)
override void DumpAllInfo(BulletWorld world)
override void SetLinearVelocity(BulletBody obj, Vector3 vel)
override int PhysicsStep(BulletWorld world, float timeStep, int maxSubSteps, float fixedTimeStep, out int updatedEntityCount, out int collidersCount)
override void ApplyForce(BulletBody obj, Vector3 force, Vector3 pos)
override void ApplyCentralImpulse(BulletBody obj, Vector3 imp)
override Vector3 GetLinearVelocity(BulletBody obj)
override float GetAngularMotionDisc(BulletShape shape)
override void DumpConstraint(BulletWorld world, BulletConstraint constrain)
override void SetConstraintNumSolverIterations(BulletConstraint constrain, float iterations)
override void SetMargin(BulletShape shape, float val)
override bool SetAngularLimits(BulletConstraint constrain, Vector3 low, Vector3 hi)
override bool SetBreakingImpulseThreshold(BulletConstraint constrain, float threshold)
override bool TranslationalLimitMotor(BulletConstraint constrain, float enable, float targetVel, float maxMotorForce)
override BulletConstraint CreatePoint2PointConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 pivotInA, Vector3 pivotInB, bool disableCollisionsBetweenLinkedBodies)
override float GetContactProcessingThreshold(BulletBody obj)
override BulletShape CreateHullShape(BulletWorld world, int hullCount, float[] hulls)
override bool IsConvex(BulletShape shape)
override void SetInterpolationLinearVelocity(BulletBody obj, Vector3 vel)
override Vector3 GetTotalTorque(BulletBody obj)
override BulletConstraint CreateGearConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 axisInA, Vector3 axisInB, float ratio, bool disableCollisionsBetweenLinkedBodies)
override BulletShape CreateMeshShape(BulletWorld world, int indicesCount, int[] indices, int verticesCount, float[] vertices)
override bool WantsSleeping(BulletBody obj)
override Vector3 GetTotalForce(BulletBody obj)
override bool IsStaticOrKinematicObject(BulletBody obj)
override void SetCollisionShape(BulletWorld world, BulletBody obj, BulletShape shape)
override bool CalculateTransforms(BulletConstraint constrain)
override Vector3 CalculateLocalInertia(BulletShape shape, float mass)
override void SetAngularDamping(BulletBody obj, float ang_damping)
override bool HasContactResponse(BulletBody obj)
override void Translate(BulletBody obj, Vector3 trans)
override float GetMargin(BulletShape shape)
override bool IsStaticObject(BulletBody obj)
override float GetHitFraction(BulletBody obj)
override float GetAngularDamping(BulletBody obj)
override float GetCcdMotionThreshold(BulletBody obj)
OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion rotation
override bool GetForceUpdateAllAabbs(BulletWorld world)
override void SetAngularFactor(BulletBody obj, float factor)
override bool IsInfinite(BulletShape shape)
override Vector3 GetAngularVelocity(BulletBody obj)
override void ApplyTorqueImpulse(BulletBody obj, Vector3 imp)
override bool ClearCollisionProxyCache(BulletWorld world, BulletBody obj)
override bool SpringSetEquilibriumPoint(BulletConstraint constrain, int index, float equilibriumPoint)
override bool HasAnisotripicFriction(BulletConstraint constrain)
override void RemoveChildShapeFromCompoundShape(BulletShape shape, BulletShape removeShape)
override Vector3 GetInvInertiaDiagLocal(BulletBody obj)
override BulletConstraint GetConstraintRef(BulletBody obj, int index)
override void SetFriction(BulletBody obj, float val)
override void ApplyGravity(BulletBody obj)
override void RecalculateCompoundShapeLocalAabb(BulletShape shape)
override void ForceActivationState(BulletBody obj, ActivationState state)
override bool UpdateParameter(BulletWorld world, uint localID, String parm, float value)
override void AddChildShapeToCompoundShape(BulletShape shape, BulletShape addShape, Vector3 pos, Quaternion rot)
override Vector3 GetVelocityInLocalPoint(BulletBody obj, Vector3 pos)
override BulletConstraint Create6DofConstraintFixed(BulletWorld world, BulletBody obj1, Vector3 frameInBloc, Quaternion frameInBrot, bool useLinearReferenceFrameB, bool disableCollisionsBetweenLinkedBodies)
override void SetConstraintEnable(BulletConstraint constrain, float numericTrueFalse)
override BulletBody CreateBodyWithDefaultMotionState(BulletShape shape, uint id, Vector3 pos, Quaternion rot)
override void SetCcdMotionThreshold(BulletBody obj, float val)
override bool SliderSet(BulletConstraint constrain, int softRestDamp, int dirLimOrtho, int linAng, float val)
override bool UseFrameOffset(BulletConstraint constrain, float enable)
override void SetTranslation(BulletBody obj, Vector3 position, Quaternion rotation)
override void ResetBroadphasePool(BulletWorld world)
override bool SetConstraintParam(BulletConstraint constrain, ConstraintParams paramIndex, float value, ConstraintParamAxis axis)
override void ApplyImpulse(BulletBody obj, Vector3 imp, Vector3 pos)
override Vector3 GetPosition(BulletBody obj)
override BulletShape CreateCompoundShape(BulletWorld world, bool enableDynamicAabbTree)
override void SetLinearFactor(BulletBody obj, Vector3 factor)
override void SetLocalScaling(BulletShape shape, Vector3 scale)
override int GetNumConstraintRefs(BulletBody obj)
override BulletShape BuildConvexHullShapeFromMesh(BulletWorld world, BulletShape meshShape)
override BulletShape CreateTerrainShape(uint id, Vector3 size, float minHeight, float maxHeight, float[] heightMap, float scaleFactor, float collisionMargin)
override void SetAngularFactorV(BulletBody obj, Vector3 factor)
override bool IsSoftBody(BulletShape shape)
override BulletBody CreateBodyFromShape(BulletWorld world, BulletShape shape, uint id, Vector3 pos, Quaternion rot)
override float GetDeactivationTime(BulletBody obj)
override void UpdateChildTransform(BulletShape pShape, int childIndex, Vector3 pos, Quaternion rot, bool shouldRecalculateLocalAabb)
override Vector3 GetAngularFactor(BulletBody obj)
override void SetInterpolationVelocity(BulletBody obj, Vector3 linearVel, Vector3 angularVel)
override void ClearAllForces(BulletBody obj)
override bool AddConstraintToWorld(BulletWorld world, BulletConstraint constrain, bool disableCollisionsBetweenLinkedObjects)
override bool IsConcave(BulletShape shape)
override void SetRestitution(BulletBody obj, float val)
override BulletShape BuildNativeShape(BulletWorld world, ShapeData shapeData)
override float GetFriction(BulletBody obj)
override bool SetCollisionGroupMask(BulletBody body, uint filter, uint mask)
override Vector3 GetLinearFactor(BulletBody obj)
override Vector3 GetGravity(BulletBody obj)
override bool SetLinearLimits(BulletConstraint constrain, Vector3 low, Vector3 hi)
override Quaternion GetOrientation(BulletBody obj)
override int GetNumberOfCompoundChildren(BulletShape shape)
override bool RemoveConstraintFromWorld(BulletWorld world, BulletConstraint constrain)
override Vector3 SetAnisotripicFriction(BulletConstraint constrain, Vector3 frict)
override bool IsCompound(BulletShape shape)
override IntPtr GetUserPointer(BulletBody obj)
override BulletShape GetCollisionShape(BulletBody obj)
override void UpdateInertiaTensor(BulletBody obj)
override bool SpringEnable(BulletConstraint constrain, int index, float numericTrueFalse)
override BulletShape DuplicateCollisionShape(BulletWorld world, BulletShape srcShape, uint id)
override BulletShape CreateGroundPlaneShape(uint id, float height, float collisionMargin)
override float GetRestitution(BulletBody obj)
override float GetContactBreakingThreshold(BulletShape shape, float defaultFactor)
override void Activate(BulletBody obj, bool forceActivation)
override bool RemoveObjectFromWorld(BulletWorld world, BulletBody obj)
override BulletConstraint Create6DofSpringConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 frame1loc, Quaternion frame1rot, Vector3 frame2loc, Quaternion frame2rot, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies)
override bool IsKinematicObject(BulletBody obj)
override int GetActivationState(BulletBody obj)
override bool SliderMotor(BulletConstraint constrain, int forceVel, int linAng, float val)
override bool SliderSetLimits(BulletConstraint constrain, int lowerUpper, int linAng, float val)
override void SetObjectForce(BulletBody obj, Vector3 force)
override void SetDamping(BulletBody obj, float lin_damping, float ang_damping)
override BulletConstraint Create6DofConstraintToPoint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 joinPoint, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies)
override BulletShape CreateGImpactShape(BulletWorld world, int indicesCount, int[] indices, int verticesCount, float[] vertices)
override void SetForceUpdateAllAabbs(BulletWorld world, bool force)
override void SetInvInertiaDiagLocal(BulletBody obj, Vector3 inert)
override CollisionFlags GetCollisionFlags(BulletBody obj)
override void DestroyObject(BulletWorld world, BulletBody obj)
override bool IsNonMoving(BulletShape shape)
override float GetLinearSleepingThreshold(BulletBody obj)
override CollisionObjectTypes GetBodyType(BulletBody obj)
override float GetCcdSweptSphereRadius(BulletBody obj)
override void DumpPhysicsStatistics(BulletWorld world)
override void DumpRigidBody(BulletWorld world, BulletBody collisionObject)
override BulletWorld Initialize(Vector3 maxPosition, ConfigurationParameters parms, int maxCollisions, ref CollisionDesc[] collisionArray, int maxUpdates, ref EntityProperties[] updateArray)
override void SetHitFraction(BulletBody obj, float val)