44 using System.Runtime.InteropServices;
45 using System.Security;
46 using OMV = OpenMetaverse;
59 public static dReal Infinity = dReal.MaxValue;
60 public static int NTotalBodies = 0;
61 public static int NTotalGeoms = 0;
63 public const uint CONTACTS_UNIMPORTANT = 0x80000000;
65 #region Flags and Enumerations
68 public enum AllocateODEDataFlags : uint
71 CollisionData = 0x00000001,
76 public enum IniteODEFlags : uint
78 dInitFlagManualThreadCleanup = 0x00000001
82 public enum ContactFlags :
int
100 public enum GeomClassID :
int
113 SimpleSpaceClass = FirstSpaceClass,
116 LastSpaceClass = QuadTreeSpaceClass,
119 LastUserClass = FirstUserClass + MaxUserClasses - 1,
124 public enum JointType :
int
140 public enum JointParam :
int
177 public enum dSweepAndPruneAxis :
int
179 XYZ = ((0)|(1<<2)|(2<<4)),
180 XZY = ((0)|(2<<2)|(1<<4)),
181 YXZ = ((1)|(0<<2)|(2<<4)),
182 YZX = ((1)|(2<<2)|(0<<4)),
183 ZXY = ((2)|(0<<2)|(1<<4)),
184 ZYX = ((2)|(1<<2)|(0<<4))
191 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
192 public delegate
int AABBTestFn(IntPtr o1, IntPtr o2, ref AABB aabb);
194 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
195 public delegate
int ColliderFn(IntPtr o1, IntPtr o2,
int flags, out ContactGeom contact,
int skip);
197 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
198 public delegate
void GetAABBFn(IntPtr geom, out AABB aabb);
200 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
201 public delegate ColliderFn GetColliderFnFn(
int num);
203 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
204 public delegate
void GeomDtorFn(IntPtr o);
206 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
207 public delegate
dReal HeightfieldGetHeight(IntPtr p_user_data,
int x,
int z);
209 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
210 public delegate
dReal OSTerrainGetHeight(IntPtr p_user_data,
int x,
int z);
212 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
213 public delegate
void NearCallback(IntPtr data, IntPtr geom1, IntPtr geom2);
215 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
216 public delegate
int TriCallback(IntPtr trimesh, IntPtr refObject,
int triangleIndex);
218 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
219 public delegate
int TriArrayCallback(IntPtr trimesh, IntPtr refObject,
int[] triangleIndex,
int triCount);
221 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
222 public delegate
int TriRayCallback(IntPtr trimesh, IntPtr ray,
int triangleIndex,
dReal u,
dReal v);
228 [StructLayout(LayoutKind.Sequential)]
237 [StructLayout(LayoutKind.Sequential)]
247 [StructLayout(LayoutKind.Sequential)]
261 [StructLayout(LayoutKind.Sequential)]
272 [StructLayout(LayoutKind.Sequential)]
282 [StructLayout(LayoutKind.Sequential)]
291 [StructLayout(LayoutKind.Sequential)]
296 M00 = m00;
M10 = m10;
M20 = m20; _m30 = 0.0f;
297 M01 = m01;
M11 = m11;
M21 = m21; _m31 = 0.0f;
298 M02 = m02;
M12 = m12;
M22 = m22; _m32 = 0.0f;
308 [StructLayout(LayoutKind.Sequential)]
327 [StructLayout(LayoutKind.Sequential)]
334 [StructLayout(LayoutKind.Sequential)]
352 [StructLayout(LayoutKind.Sequential)]
357 X = x;
Y = y;
Z = z; _w = 0.0f;
364 [StructLayout(LayoutKind.Sequential)]
369 X = x;
Y = y;
Z = z;
W = w;
376 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dAllocateODEDataForThread"), SuppressUnmanagedCodeSecurity]
377 public static extern int AllocateODEDataForThread(uint ODEInitFlags);
379 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dAreConnected"), SuppressUnmanagedCodeSecurity]
380 public static extern bool AreConnected(IntPtr b1, IntPtr b2);
382 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dAreConnectedExcluding"), SuppressUnmanagedCodeSecurity]
383 public static extern bool AreConnectedExcluding(IntPtr b1, IntPtr b2, JointType joint_type);
385 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddForce"), SuppressUnmanagedCodeSecurity]
386 public static extern void BodyAddForce(IntPtr body,
dReal fx,
dReal fy,
dReal fz);
388 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddForceAtPos"), SuppressUnmanagedCodeSecurity]
391 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddForceAtRelPos"), SuppressUnmanagedCodeSecurity]
394 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddRelForce"), SuppressUnmanagedCodeSecurity]
395 public static extern void BodyAddRelForce(IntPtr body,
dReal fx,
dReal fy,
dReal fz);
397 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddRelForceAtPos"), SuppressUnmanagedCodeSecurity]
400 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddRelForceAtRelPos"), SuppressUnmanagedCodeSecurity]
403 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddRelTorque"), SuppressUnmanagedCodeSecurity]
404 public static extern void BodyAddRelTorque(IntPtr body,
dReal fx,
dReal fy,
dReal fz);
406 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddTorque"), SuppressUnmanagedCodeSecurity]
407 public static extern void BodyAddTorque(IntPtr body,
dReal fx,
dReal fy,
dReal fz);
409 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyPosition"), SuppressUnmanagedCodeSecurity]
410 public static extern void BodyCopyPosition(IntPtr body, out
Vector3 pos);
412 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyPosition"), SuppressUnmanagedCodeSecurity]
413 public static extern void BodyCopyPosition(IntPtr body, out
dReal X);
415 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyQuaternion"), SuppressUnmanagedCodeSecurity]
416 public static extern void BodyCopyQuaternion(IntPtr body, out
Quaternion quat);
418 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyQuaternion"), SuppressUnmanagedCodeSecurity]
419 public static extern void BodyCopyQuaternion(IntPtr body, out
dReal X);
421 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyRotation"), SuppressUnmanagedCodeSecurity]
422 public static extern void BodyCopyRotation(IntPtr body, out
Matrix3 R);
424 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyRotation"), SuppressUnmanagedCodeSecurity]
425 public static extern void BodyCopyRotation(IntPtr body, out
dReal M00);
427 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCreate"), SuppressUnmanagedCodeSecurity]
428 public static extern IntPtr BodyiCreate(IntPtr world);
429 public static IntPtr BodyCreate(IntPtr world)
432 return BodyiCreate(world);
435 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyDestroy"), SuppressUnmanagedCodeSecurity]
436 public static extern void BodyiDestroy(IntPtr body);
437 public static void BodyDestroy(IntPtr body)
443 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyDisable"), SuppressUnmanagedCodeSecurity]
444 public static extern void BodyDisable(IntPtr body);
446 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyEnable"), SuppressUnmanagedCodeSecurity]
447 public static extern void BodyEnable(IntPtr body);
449 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableAngularThreshold"), SuppressUnmanagedCodeSecurity]
450 public static extern dReal BodyGetAutoDisableAngularThreshold(IntPtr body);
452 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableFlag"), SuppressUnmanagedCodeSecurity]
453 public static extern bool BodyGetAutoDisableFlag(IntPtr body);
455 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableDefaults"), SuppressUnmanagedCodeSecurity]
456 public static extern void BodyGetAutoDisableDefaults(IntPtr body);
458 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableLinearThreshold"), SuppressUnmanagedCodeSecurity]
459 public static extern dReal BodyGetAutoDisableLinearThreshold(IntPtr body);
461 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableSteps"), SuppressUnmanagedCodeSecurity]
462 public static extern int BodyGetAutoDisableSteps(IntPtr body);
464 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableTime"), SuppressUnmanagedCodeSecurity]
465 public static extern dReal BodyGetAutoDisableTime(IntPtr body);
467 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAngularVel"), SuppressUnmanagedCodeSecurity]
468 public extern unsafe
static Vector3* BodyGetAngularVelUnsafe(IntPtr body);
469 public static Vector3 BodyGetAngularVel(IntPtr body)
471 unsafe {
return *(BodyGetAngularVelUnsafe(body)); }
474 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetData"), SuppressUnmanagedCodeSecurity]
475 public static extern IntPtr BodyGetData(IntPtr body);
477 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetFiniteRotationMode"), SuppressUnmanagedCodeSecurity]
478 public static extern int BodyGetFiniteRotationMode(IntPtr body);
480 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetFiniteRotationAxis"), SuppressUnmanagedCodeSecurity]
481 public static extern void BodyGetFiniteRotationAxis(IntPtr body, out Vector3 result);
483 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetForce"), SuppressUnmanagedCodeSecurity]
484 public extern unsafe
static Vector3* BodyGetForceUnsafe(IntPtr body);
485 public static Vector3 BodyGetForce(IntPtr body)
487 unsafe {
return *(BodyGetForceUnsafe(body)); }
490 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetGravityMode"), SuppressUnmanagedCodeSecurity]
491 public static extern bool BodyGetGravityMode(IntPtr body);
493 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetGyroscopicMode"), SuppressUnmanagedCodeSecurity]
494 public static extern int BodyGetGyroscopicMode(IntPtr body);
496 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetJoint"), SuppressUnmanagedCodeSecurity]
497 public static extern IntPtr BodyGetJoint(IntPtr body,
int index);
499 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetLinearVel"), SuppressUnmanagedCodeSecurity]
500 public extern unsafe
static Vector3* BodyGetLinearVelUnsafe(IntPtr body);
501 public static Vector3 BodyGetLinearVel(IntPtr body)
503 unsafe {
return *(BodyGetLinearVelUnsafe(body)); }
506 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetMass"), SuppressUnmanagedCodeSecurity]
507 public static extern void BodyGetMass(IntPtr body, out Mass mass);
509 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetNumJoints"), SuppressUnmanagedCodeSecurity]
510 public static extern int BodyGetNumJoints(IntPtr body);
512 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetPointVel"), SuppressUnmanagedCodeSecurity]
513 public static extern void BodyGetPointVel(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
515 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetPosition"), SuppressUnmanagedCodeSecurity]
516 public extern unsafe
static Vector3* BodyGetPositionUnsafe(IntPtr body);
517 public static Vector3 BodyGetPosition(IntPtr body)
519 unsafe {
return *(BodyGetPositionUnsafe(body)); }
522 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetPosRelPoint"), SuppressUnmanagedCodeSecurity]
523 public static extern void BodyGetPosRelPoint(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
525 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetQuaternion"), SuppressUnmanagedCodeSecurity]
526 public extern unsafe
static Quaternion* BodyGetQuaternionUnsafe(IntPtr body);
527 public static Quaternion BodyGetQuaternion(IntPtr body)
529 unsafe {
return *(BodyGetQuaternionUnsafe(body)); }
532 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetRelPointPos"), SuppressUnmanagedCodeSecurity]
533 public static extern void BodyGetRelPointPos(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
535 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetRelPointVel"), SuppressUnmanagedCodeSecurity]
536 public static extern void BodyGetRelPointVel(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
538 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetRotation"), SuppressUnmanagedCodeSecurity]
539 public extern unsafe
static Matrix3* BodyGetRotationUnsafe(IntPtr body);
540 public static Matrix3 BodyGetRotation(IntPtr body)
542 unsafe {
return *(BodyGetRotationUnsafe(body)); }
545 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetTorque"), SuppressUnmanagedCodeSecurity]
546 public extern unsafe
static Vector3* BodyGetTorqueUnsafe(IntPtr body);
547 public static Vector3 BodyGetTorque(IntPtr body)
549 unsafe {
return *(BodyGetTorqueUnsafe(body)); }
552 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetWorld"), SuppressUnmanagedCodeSecurity]
553 public static extern IntPtr BodyGetWorld(IntPtr body);
555 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetFirstGeom"), SuppressUnmanagedCodeSecurity]
556 public static extern IntPtr BodyGetFirstGeom(IntPtr body);
558 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetNextGeom"), SuppressUnmanagedCodeSecurity]
559 public static extern IntPtr dBodyGetNextGeom(IntPtr Geom);
562 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyIsEnabled"), SuppressUnmanagedCodeSecurity]
563 public static extern bool BodyIsEnabled(IntPtr body);
565 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAngularVel"), SuppressUnmanagedCodeSecurity]
566 public static extern void BodySetAngularVel(IntPtr body,
dReal x,
dReal y,
dReal z);
568 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableAngularThreshold"), SuppressUnmanagedCodeSecurity]
569 public static extern void BodySetAutoDisableAngularThreshold(IntPtr body,
dReal angular_threshold);
571 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableDefaults"), SuppressUnmanagedCodeSecurity]
572 public static extern void BodySetAutoDisableDefaults(IntPtr body);
574 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableFlag"), SuppressUnmanagedCodeSecurity]
575 public static extern void BodySetAutoDisableFlag(IntPtr body,
bool do_auto_disable);
577 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableLinearThreshold"), SuppressUnmanagedCodeSecurity]
578 public static extern void BodySetAutoDisableLinearThreshold(IntPtr body,
dReal linear_threshold);
580 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableSteps"), SuppressUnmanagedCodeSecurity]
581 public static extern void BodySetAutoDisableSteps(IntPtr body,
int steps);
583 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableTime"), SuppressUnmanagedCodeSecurity]
584 public static extern void BodySetAutoDisableTime(IntPtr body,
dReal time);
586 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetData"), SuppressUnmanagedCodeSecurity]
587 public static extern void BodySetData(IntPtr body, IntPtr data);
589 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetFiniteRotationMode"), SuppressUnmanagedCodeSecurity]
590 public static extern void BodySetFiniteRotationMode(IntPtr body,
int mode);
592 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetFiniteRotationAxis"), SuppressUnmanagedCodeSecurity]
593 public static extern void BodySetFiniteRotationAxis(IntPtr body,
dReal x,
dReal y,
dReal z);
595 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetLinearDamping"), SuppressUnmanagedCodeSecurity]
596 public static extern void BodySetLinearDamping(IntPtr body,
dReal scale);
598 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAngularDamping"), SuppressUnmanagedCodeSecurity]
599 public static extern void BodySetAngularDamping(IntPtr body,
dReal scale);
601 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetLinearDamping"), SuppressUnmanagedCodeSecurity]
602 public static extern dReal BodyGetLinearDamping(IntPtr body);
604 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAngularDamping"), SuppressUnmanagedCodeSecurity]
605 public static extern dReal BodyGetAngularDamping(IntPtr body);
607 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAngularDamping"), SuppressUnmanagedCodeSecurity]
608 public static extern void BodySetDamping(IntPtr body,
dReal linear_scale,
dReal angular_scale);
610 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAngularDampingThreshold"), SuppressUnmanagedCodeSecurity]
611 public static extern void BodySetAngularDampingThreshold(IntPtr body,
dReal threshold);
613 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetLinearDampingThreshold"), SuppressUnmanagedCodeSecurity]
614 public static extern void BodySetLinearDampingThreshold(IntPtr body,
dReal threshold);
616 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetLinearDampingThreshold"), SuppressUnmanagedCodeSecurity]
617 public static extern dReal BodyGetLinearDampingThreshold(IntPtr body);
619 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAngularDampingThreshold"), SuppressUnmanagedCodeSecurity]
620 public static extern dReal BodyGetAngularDampingThreshold(IntPtr body);
622 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetForce"), SuppressUnmanagedCodeSecurity]
623 public static extern void BodySetForce(IntPtr body,
dReal x,
dReal y,
dReal z);
625 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetGravityMode"), SuppressUnmanagedCodeSecurity]
626 public static extern void BodySetGravityMode(IntPtr body,
bool mode);
633 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetGyroscopicMode"), SuppressUnmanagedCodeSecurity]
634 public static extern void dBodySetGyroscopicMode(IntPtr body,
int enabled);
636 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetLinearVel"), SuppressUnmanagedCodeSecurity]
637 public static extern void BodySetLinearVel(IntPtr body,
dReal x,
dReal y,
dReal z);
639 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetMass"), SuppressUnmanagedCodeSecurity]
640 public static extern void BodySetMass(IntPtr body, ref Mass mass);
642 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetPosition"), SuppressUnmanagedCodeSecurity]
643 public static extern void BodySetPosition(IntPtr body,
dReal x,
dReal y,
dReal z);
645 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetQuaternion"), SuppressUnmanagedCodeSecurity]
646 public static extern void BodySetQuaternion(IntPtr body, ref Quaternion q);
648 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetQuaternion"), SuppressUnmanagedCodeSecurity]
649 public static extern void BodySetQuaternion(IntPtr body, ref
dReal w);
651 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetRotation"), SuppressUnmanagedCodeSecurity]
652 public static extern void BodySetRotation(IntPtr body, ref Matrix3 R);
654 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetRotation"), SuppressUnmanagedCodeSecurity]
655 public static extern void BodySetRotation(IntPtr body, ref
dReal M00);
657 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetTorque"), SuppressUnmanagedCodeSecurity]
658 public static extern void BodySetTorque(IntPtr body,
dReal x,
dReal y,
dReal z);
660 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyVectorFromWorld"), SuppressUnmanagedCodeSecurity]
661 public static extern void BodyVectorFromWorld(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
663 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyVectorToWorld"), SuppressUnmanagedCodeSecurity]
664 public static extern void BodyVectorToWorld(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
666 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBoxBox"), SuppressUnmanagedCodeSecurity]
667 public static extern void BoxBox(ref Vector3 p1, ref Matrix3 R1,
668 ref Vector3 side1, ref Vector3 p2,
669 ref Matrix3 R2, ref Vector3 side2,
670 ref Vector3 normal, out
dReal depth, out
int return_code,
671 int maxc, out ContactGeom contact,
int skip);
673 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBoxTouchesBox"), SuppressUnmanagedCodeSecurity]
674 public static extern void BoxTouchesBox(ref Vector3 _p1, ref Matrix3 R1,
675 ref Vector3 side1, ref Vector3 _p2,
676 ref Matrix3 R2, ref Vector3 side2);
678 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCleanupODEAllDataForThread"), SuppressUnmanagedCodeSecurity]
679 public static extern void CleanupODEAllDataForThread();
681 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dClosestLineSegmentPoints"), SuppressUnmanagedCodeSecurity]
682 public static extern void ClosestLineSegmentPoints(ref Vector3 a1, ref Vector3 a2,
683 ref Vector3 b1, ref Vector3 b2,
684 ref Vector3 cp1, ref Vector3 cp2);
686 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCloseODE"), SuppressUnmanagedCodeSecurity]
687 public static extern void CloseODE();
689 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCollide"), SuppressUnmanagedCodeSecurity]
690 public static extern int Collide(IntPtr o1, IntPtr o2,
int flags, [In, Out] ContactGeom[] contact,
int skip);
691 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCollide"), SuppressUnmanagedCodeSecurity]
692 public static extern int CollidePtr(IntPtr o1, IntPtr o2,
int flags, IntPtr contactgeomarray,
int skip);
694 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dConnectingJoint"), SuppressUnmanagedCodeSecurity]
695 public static extern IntPtr ConnectingJoint(IntPtr j1, IntPtr j2);
697 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateBox"), SuppressUnmanagedCodeSecurity]
698 public static extern IntPtr CreateiBox(IntPtr space,
dReal lx,
dReal ly,
dReal lz);
699 public static IntPtr CreateBox(IntPtr space,
dReal lx,
dReal ly,
dReal lz)
702 return CreateiBox(space, lx, ly, lz);
705 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateCapsule"), SuppressUnmanagedCodeSecurity]
706 public static extern IntPtr CreateiCapsule(IntPtr space,
dReal radius,
dReal length);
707 public static IntPtr CreateCapsule(IntPtr space,
dReal radius,
dReal length)
710 return CreateiCapsule(space, radius, length);
713 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateConvex"), SuppressUnmanagedCodeSecurity]
714 public static extern IntPtr CreateiConvex(IntPtr space,
dReal[] planes,
int planeCount,
dReal[] points,
int pointCount,
int[] polygons);
715 public static IntPtr CreateConvex(IntPtr space,
dReal[] planes,
int planeCount,
dReal[] points,
int pointCount,
int[] polygons)
718 return CreateiConvex(space, planes, planeCount, points, pointCount, polygons);
721 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateCylinder"), SuppressUnmanagedCodeSecurity]
722 public static extern IntPtr CreateiCylinder(IntPtr space,
dReal radius,
dReal length);
723 public static IntPtr CreateCylinder(IntPtr space,
dReal radius,
dReal length)
726 return CreateiCylinder(space, radius, length);
729 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateHeightfield"), SuppressUnmanagedCodeSecurity]
730 public static extern IntPtr CreateiHeightfield(IntPtr space, IntPtr data,
int bPlaceable);
731 public static IntPtr CreateHeightfield(IntPtr space, IntPtr data,
int bPlaceable)
734 return CreateiHeightfield(space, data, bPlaceable);
737 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateOSTerrain"), SuppressUnmanagedCodeSecurity]
738 public static extern IntPtr CreateiOSTerrain(IntPtr space, IntPtr data,
int bPlaceable);
739 public static IntPtr CreateOSTerrain(IntPtr space, IntPtr data,
int bPlaceable)
742 return CreateiOSTerrain(space, data, bPlaceable);
749 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateGeom"), SuppressUnmanagedCodeSecurity]
750 public static extern IntPtr CreateiGeom(
int classnum);
751 public static IntPtr CreateGeom(
int classnum)
754 return CreateiGeom(classnum);
757 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateGeomClass"), SuppressUnmanagedCodeSecurity]
758 public static extern int CreateGeomClass(ref GeomClass classptr);
760 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateGeomTransform"), SuppressUnmanagedCodeSecurity]
761 public static extern IntPtr CreateGeomTransform(IntPtr space);
763 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreatePlane"), SuppressUnmanagedCodeSecurity]
768 return CreateiPlane(space, a, b, c, d);
771 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateRay"), SuppressUnmanagedCodeSecurity]
772 public static extern IntPtr CreateiRay(IntPtr space,
dReal length);
773 public static IntPtr CreateRay(IntPtr space,
dReal length)
776 return CreateiRay(space, length);
779 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateSphere"), SuppressUnmanagedCodeSecurity]
780 public static extern IntPtr CreateiSphere(IntPtr space,
dReal radius);
781 public static IntPtr CreateSphere(IntPtr space,
dReal radius)
784 return CreateiSphere(space, radius);
787 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateTriMesh"), SuppressUnmanagedCodeSecurity]
788 public static extern IntPtr CreateiTriMesh(IntPtr space, IntPtr data,
789 TriCallback callback, TriArrayCallback arrayCallback, TriRayCallback rayCallback);
790 public static IntPtr CreateTriMesh(IntPtr space, IntPtr data,
791 TriCallback callback, TriArrayCallback arrayCallback, TriRayCallback rayCallback)
794 return CreateiTriMesh(space, data, callback, arrayCallback, rayCallback);
796 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dDot"), SuppressUnmanagedCodeSecurity]
799 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dDQfromW"), SuppressUnmanagedCodeSecurity]
800 public static extern void DQfromW(
dReal[] dq, ref Vector3 w, ref Quaternion q);
802 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dFactorCholesky"), SuppressUnmanagedCodeSecurity]
803 public static extern int FactorCholesky(ref
dReal A00,
int n);
805 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dFactorLDLT"), SuppressUnmanagedCodeSecurity]
806 public static extern void FactorLDLT(ref
dReal A, out
dReal d,
int n,
int nskip);
808 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomBoxGetLengths"), SuppressUnmanagedCodeSecurity]
809 public static extern void GeomBoxGetLengths(IntPtr geom, out Vector3 len);
811 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomBoxGetLengths"), SuppressUnmanagedCodeSecurity]
812 public static extern void GeomBoxGetLengths(IntPtr geom, out
dReal x);
814 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomBoxPointDepth"), SuppressUnmanagedCodeSecurity]
817 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomBoxSetLengths"), SuppressUnmanagedCodeSecurity]
818 public static extern void GeomBoxSetLengths(IntPtr geom,
dReal x,
dReal y,
dReal z);
820 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCapsuleGetParams"), SuppressUnmanagedCodeSecurity]
821 public static extern void GeomCapsuleGetParams(IntPtr geom, out
dReal radius, out
dReal length);
823 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCapsulePointDepth"), SuppressUnmanagedCodeSecurity]
826 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCapsuleSetParams"), SuppressUnmanagedCodeSecurity]
827 public static extern void GeomCapsuleSetParams(IntPtr geom,
dReal radius,
dReal length);
829 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomClearOffset"), SuppressUnmanagedCodeSecurity]
830 public static extern void GeomClearOffset(IntPtr geom);
832 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyOffsetPosition"), SuppressUnmanagedCodeSecurity]
833 public static extern IntPtr GeomCopyOffsetPosition(IntPtr geom, ref Vector3 pos);
835 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyOffsetPosition"), SuppressUnmanagedCodeSecurity]
836 public static extern IntPtr GeomCopyOffsetPosition(IntPtr geom, ref
dReal X);
838 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetOffsetQuaternion"), SuppressUnmanagedCodeSecurity]
839 public static extern void GeomCopyOffsetQuaternion(IntPtr geom, ref Quaternion Q);
841 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetOffsetQuaternion"), SuppressUnmanagedCodeSecurity]
842 public static extern void GeomCopyOffsetQuaternion(IntPtr geom, ref
dReal X);
844 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyOffsetRotation"), SuppressUnmanagedCodeSecurity]
845 public static extern IntPtr GeomCopyOffsetRotation(IntPtr geom, ref Matrix3 R);
847 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyOffsetRotation"), SuppressUnmanagedCodeSecurity]
848 public static extern IntPtr GeomCopyOffsetRotation(IntPtr geom, ref
dReal M00);
850 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyPosition"), SuppressUnmanagedCodeSecurity]
851 public static extern void GeomCopyPosition(IntPtr geom, out Vector3 pos);
853 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyPosition"), SuppressUnmanagedCodeSecurity]
854 public static extern void GeomCopyPosition(IntPtr geom, out
dReal X);
856 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyRotation"), SuppressUnmanagedCodeSecurity]
857 public static extern void GeomCopyRotation(IntPtr geom, out Matrix3 R);
859 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyRotation"), SuppressUnmanagedCodeSecurity]
860 public static extern void GeomCopyRotation(IntPtr geom, out
dReal M00);
862 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCylinderGetParams"), SuppressUnmanagedCodeSecurity]
863 public static extern void GeomCylinderGetParams(IntPtr geom, out
dReal radius, out
dReal length);
865 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCylinderSetParams"), SuppressUnmanagedCodeSecurity]
866 public static extern void GeomCylinderSetParams(IntPtr geom,
dReal radius,
dReal length);
868 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomDestroy"), SuppressUnmanagedCodeSecurity]
869 public static extern void GeomiDestroy(IntPtr geom);
870 public static void GeomDestroy(IntPtr geom)
877 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomDisable"), SuppressUnmanagedCodeSecurity]
878 public static extern void GeomDisable(IntPtr geom);
880 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomEnable"), SuppressUnmanagedCodeSecurity]
881 public static extern void GeomEnable(IntPtr geom);
883 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetAABB"), SuppressUnmanagedCodeSecurity]
884 public static extern void GeomGetAABB(IntPtr geom, out AABB aabb);
886 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetAABB"), SuppressUnmanagedCodeSecurity]
887 public static extern void GeomGetAABB(IntPtr geom, out
dReal minX);
889 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetBody"), SuppressUnmanagedCodeSecurity]
890 public static extern IntPtr GeomGetBody(IntPtr geom);
892 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetCategoryBits"), SuppressUnmanagedCodeSecurity]
893 public static extern uint GeomGetCategoryBits(IntPtr geom);
895 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetClassData"), SuppressUnmanagedCodeSecurity]
896 public static extern IntPtr GeomGetClassData(IntPtr geom);
898 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetCollideBits"), SuppressUnmanagedCodeSecurity]
899 public static extern uint GeomGetCollideBits(IntPtr geom);
901 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetClass"), SuppressUnmanagedCodeSecurity]
902 public static extern GeomClassID GeomGetClass(IntPtr geom);
904 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetData"), SuppressUnmanagedCodeSecurity]
905 public static extern IntPtr GeomGetData(IntPtr geom);
907 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetOffsetPosition"), SuppressUnmanagedCodeSecurity]
908 public extern unsafe
static Vector3* GeomGetOffsetPositionUnsafe(IntPtr geom);
909 public static Vector3 GeomGetOffsetPosition(IntPtr geom)
911 unsafe {
return *(GeomGetOffsetPositionUnsafe(geom)); }
914 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetOffsetRotation"), SuppressUnmanagedCodeSecurity]
915 public extern unsafe
static Matrix3* GeomGetOffsetRotationUnsafe(IntPtr geom);
916 public static Matrix3 GeomGetOffsetRotation(IntPtr geom)
918 unsafe {
return *(GeomGetOffsetRotationUnsafe(geom)); }
921 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetPosition"), SuppressUnmanagedCodeSecurity]
922 public extern unsafe
static Vector3* GeomGetPositionUnsafe(IntPtr geom);
923 public static Vector3 GeomGetPosition(IntPtr geom)
925 unsafe {
return *(GeomGetPositionUnsafe(geom)); }
927 public static OMV.Vector3 GeomGetPositionOMV(IntPtr geom)
929 Vector3 vtmp = GeomGetPosition(geom);
930 return new OMV.Vector3(vtmp.X, vtmp.Y, vtmp.Z);
933 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetQuaternion"), SuppressUnmanagedCodeSecurity]
934 public static extern void GeomCopyQuaternion(IntPtr geom, out Quaternion q);
935 public static OMV.Quaternion GeomGetQuaternionOMV(IntPtr geom)
938 GeomCopyQuaternion(geom, out qtmp);
939 return new OMV.Quaternion(qtmp.X, qtmp.Y, qtmp.Z, qtmp.W);
942 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetQuaternion"), SuppressUnmanagedCodeSecurity]
943 public static extern void GeomCopyQuaternion(IntPtr geom, out
dReal X);
945 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetRotation"), SuppressUnmanagedCodeSecurity]
946 public extern unsafe
static Matrix3* GeomGetRotationUnsafe(IntPtr geom);
947 public static Matrix3 GeomGetRotation(IntPtr geom)
949 unsafe {
return *(GeomGetRotationUnsafe(geom)); }
952 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetSpace"), SuppressUnmanagedCodeSecurity]
953 public static extern IntPtr GeomGetSpace(IntPtr geom);
955 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildByte"), SuppressUnmanagedCodeSecurity]
956 public static extern void GeomHeightfieldDataBuildByte(IntPtr d, byte[] pHeightData,
int bCopyHeightData,
957 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
960 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildByte"), SuppressUnmanagedCodeSecurity]
961 public static extern void GeomHeightfieldDataBuildByte(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
962 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
965 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildCallback"), SuppressUnmanagedCodeSecurity]
966 public static extern void GeomHeightfieldDataBuildCallback(IntPtr d, IntPtr pUserData, HeightfieldGetHeight pCallback,
967 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
970 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildShort"), SuppressUnmanagedCodeSecurity]
971 public static extern void GeomHeightfieldDataBuildShort(IntPtr d, ushort[] pHeightData,
int bCopyHeightData,
972 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
975 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildShort"), SuppressUnmanagedCodeSecurity]
976 public static extern void GeomHeightfieldDataBuildShort(IntPtr d,
short[] pHeightData,
int bCopyHeightData,
977 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
980 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildShort"), SuppressUnmanagedCodeSecurity]
981 public static extern void GeomHeightfieldDataBuildShort(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
982 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
985 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildSingle"), SuppressUnmanagedCodeSecurity]
986 public static extern void GeomHeightfieldDataBuildSingle(IntPtr d,
float[] pHeightData,
int bCopyHeightData,
987 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
990 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildSingle"), SuppressUnmanagedCodeSecurity]
991 public static extern void GeomHeightfieldDataBuildSingle(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
992 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
997 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildDouble"), SuppressUnmanagedCodeSecurity]
998 public static extern void GeomHeightfieldDataBuildDouble(IntPtr d,
double[] pHeightData,
int bCopyHeightData,
999 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
1002 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildDouble"), SuppressUnmanagedCodeSecurity]
1003 public static extern void GeomHeightfieldDataBuildDouble(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
1004 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
1007 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataCreate"), SuppressUnmanagedCodeSecurity]
1008 public static extern IntPtr GeomHeightfieldDataCreate();
1010 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataDestroy"), SuppressUnmanagedCodeSecurity]
1011 public static extern void GeomHeightfieldDataDestroy(IntPtr d);
1013 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataSetBounds"), SuppressUnmanagedCodeSecurity]
1014 public static extern void GeomHeightfieldDataSetBounds(IntPtr d,
dReal minHeight,
dReal maxHeight);
1016 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldGetHeightfieldData"), SuppressUnmanagedCodeSecurity]
1017 public static extern IntPtr GeomHeightfieldGetHeightfieldData(IntPtr g);
1019 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldSetHeightfieldData"), SuppressUnmanagedCodeSecurity]
1020 public static extern void GeomHeightfieldSetHeightfieldData(IntPtr g, IntPtr d);
1023 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomUbitTerrainDataBuild"), SuppressUnmanagedCodeSecurity]
1024 public static extern void GeomOSTerrainDataBuild(IntPtr d,
float[] pHeightData,
int bCopyHeightData,
1025 dReal sampleSize,
int widthSamples,
int depthSamples,
1028 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainDataBuild"), SuppressUnmanagedCodeSecurity]
1029 public static extern void GeomOSTerrainDataBuild(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
1030 dReal sampleSize,
int widthSamples,
int depthSamples,
1031 dReal thickness,
int bWrap);
1033 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainDataCreate"), SuppressUnmanagedCodeSecurity]
1034 public static extern IntPtr GeomOSTerrainDataCreate();
1036 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainDataDestroy"), SuppressUnmanagedCodeSecurity]
1037 public static extern void GeomOSTerrainDataDestroy(IntPtr d);
1039 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainDataSetBounds"), SuppressUnmanagedCodeSecurity]
1040 public static extern void GeomOSTerrainDataSetBounds(IntPtr d,
dReal minHeight,
dReal maxHeight);
1042 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainGetHeightfieldData"), SuppressUnmanagedCodeSecurity]
1043 public static extern IntPtr GeomOSTerrainGetHeightfieldData(IntPtr g);
1045 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainSetHeightfieldData"), SuppressUnmanagedCodeSecurity]
1046 public static extern void GeomOSTerrainSetHeightfieldData(IntPtr g, IntPtr d);
1049 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomIsEnabled"), SuppressUnmanagedCodeSecurity]
1050 public static extern bool GeomIsEnabled(IntPtr geom);
1052 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomIsOffset"), SuppressUnmanagedCodeSecurity]
1053 public static extern bool GeomIsOffset(IntPtr geom);
1055 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomIsSpace"), SuppressUnmanagedCodeSecurity]
1056 public static extern bool GeomIsSpace(IntPtr geom);
1058 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomPlaneGetParams"), SuppressUnmanagedCodeSecurity]
1059 public static extern void GeomPlaneGetParams(IntPtr geom, ref Vector4 result);
1061 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomPlaneGetParams"), SuppressUnmanagedCodeSecurity]
1062 public static extern void GeomPlaneGetParams(IntPtr geom, ref
dReal A);
1064 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomPlanePointDepth"), SuppressUnmanagedCodeSecurity]
1067 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomPlaneSetParams"), SuppressUnmanagedCodeSecurity]
1068 public static extern void GeomPlaneSetParams(IntPtr plane,
dReal a,
dReal b,
dReal c,
dReal d);
1070 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGet"), SuppressUnmanagedCodeSecurity]
1071 public static extern void GeomRayGet(IntPtr ray, ref Vector3 start, ref Vector3 dir);
1073 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGet"), SuppressUnmanagedCodeSecurity]
1074 public static extern void GeomRayGet(IntPtr ray, ref
dReal startX, ref
dReal dirX);
1076 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGetClosestHit"), SuppressUnmanagedCodeSecurity]
1077 public static extern int GeomRayGetClosestHit(IntPtr ray);
1079 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGetLength"), SuppressUnmanagedCodeSecurity]
1080 public static extern dReal GeomRayGetLength(IntPtr ray);
1082 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGetParams"), SuppressUnmanagedCodeSecurity]
1083 public static extern dReal GeomRayGetParams(IntPtr g, out
int firstContact, out
int backfaceCull);
1085 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRaySet"), SuppressUnmanagedCodeSecurity]
1088 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRaySetClosestHit"), SuppressUnmanagedCodeSecurity]
1089 public static extern void GeomRaySetClosestHit(IntPtr ray,
int closestHit);
1091 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRaySetLength"), SuppressUnmanagedCodeSecurity]
1092 public static extern void GeomRaySetLength(IntPtr ray,
dReal length);
1094 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRaySetParams"), SuppressUnmanagedCodeSecurity]
1095 public static extern void GeomRaySetParams(IntPtr ray,
int firstContact,
int backfaceCull);
1097 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetBody"), SuppressUnmanagedCodeSecurity]
1098 public static extern void GeomSetBody(IntPtr geom, IntPtr body);
1100 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetCategoryBits"), SuppressUnmanagedCodeSecurity]
1101 public static extern void GeomSetCategoryBits(IntPtr geom, uint bits);
1103 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetCollideBits"), SuppressUnmanagedCodeSecurity]
1104 public static extern void GeomSetCollideBits(IntPtr geom, uint bits);
1106 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetConvex"), SuppressUnmanagedCodeSecurity]
1107 public static extern IntPtr GeomSetConvex(IntPtr geom,
dReal[] planes,
int planeCount,
dReal[] points,
int pointCount,
int[] polygons);
1109 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetData"), SuppressUnmanagedCodeSecurity]
1110 public static extern void GeomSetData(IntPtr geom, IntPtr data);
1112 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetPosition"), SuppressUnmanagedCodeSecurity]
1113 public static extern void GeomSetOffsetPosition(IntPtr geom,
dReal x,
dReal y,
dReal z);
1115 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetQuaternion"), SuppressUnmanagedCodeSecurity]
1116 public static extern void GeomSetOffsetQuaternion(IntPtr geom, ref Quaternion Q);
1118 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetQuaternion"), SuppressUnmanagedCodeSecurity]
1119 public static extern void GeomSetOffsetQuaternion(IntPtr geom, ref
dReal X);
1121 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetRotation"), SuppressUnmanagedCodeSecurity]
1122 public static extern void GeomSetOffsetRotation(IntPtr geom, ref Matrix3 R);
1124 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetRotation"), SuppressUnmanagedCodeSecurity]
1125 public static extern void GeomSetOffsetRotation(IntPtr geom, ref
dReal M00);
1127 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldPosition"), SuppressUnmanagedCodeSecurity]
1128 public static extern void GeomSetOffsetWorldPosition(IntPtr geom,
dReal x,
dReal y,
dReal z);
1130 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldQuaternion"), SuppressUnmanagedCodeSecurity]
1131 public static extern void GeomSetOffsetWorldQuaternion(IntPtr geom, ref Quaternion Q);
1133 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldQuaternion"), SuppressUnmanagedCodeSecurity]
1134 public static extern void GeomSetOffsetWorldQuaternion(IntPtr geom, ref
dReal X);
1136 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldRotation"), SuppressUnmanagedCodeSecurity]
1137 public static extern void GeomSetOffsetWorldRotation(IntPtr geom, ref Matrix3 R);
1139 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldRotation"), SuppressUnmanagedCodeSecurity]
1140 public static extern void GeomSetOffsetWorldRotation(IntPtr geom, ref
dReal M00);
1142 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetPosition"), SuppressUnmanagedCodeSecurity]
1143 public static extern void GeomSetPosition(IntPtr geom,
dReal x,
dReal y,
dReal z);
1145 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetQuaternion"), SuppressUnmanagedCodeSecurity]
1146 public static extern void GeomSetQuaternion(IntPtr geom, ref Quaternion quat);
1148 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetQuaternion"), SuppressUnmanagedCodeSecurity]
1149 public static extern void GeomSetQuaternion(IntPtr geom, ref
dReal w);
1151 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetRotation"), SuppressUnmanagedCodeSecurity]
1152 public static extern void GeomSetRotation(IntPtr geom, ref Matrix3 R);
1154 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetRotation"), SuppressUnmanagedCodeSecurity]
1155 public static extern void GeomSetRotation(IntPtr geom, ref
dReal M00);
1157 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSphereGetRadius"), SuppressUnmanagedCodeSecurity]
1158 public static extern dReal GeomSphereGetRadius(IntPtr geom);
1160 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSpherePointDepth"), SuppressUnmanagedCodeSecurity]
1163 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSphereSetRadius"), SuppressUnmanagedCodeSecurity]
1164 public static extern void GeomSphereSetRadius(IntPtr geom,
dReal radius);
1166 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformGetCleanup"), SuppressUnmanagedCodeSecurity]
1167 public static extern int GeomTransformGetCleanup(IntPtr geom);
1169 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformGetGeom"), SuppressUnmanagedCodeSecurity]
1170 public static extern IntPtr GeomTransformGetGeom(IntPtr geom);
1172 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformGetInfo"), SuppressUnmanagedCodeSecurity]
1173 public static extern int GeomTransformGetInfo(IntPtr geom);
1175 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformSetCleanup"), SuppressUnmanagedCodeSecurity]
1176 public static extern void GeomTransformSetCleanup(IntPtr geom,
int mode);
1178 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformSetGeom"), SuppressUnmanagedCodeSecurity]
1179 public static extern void GeomTransformSetGeom(IntPtr geom, IntPtr obj);
1181 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformSetInfo"), SuppressUnmanagedCodeSecurity]
1182 public static extern void GeomTransformSetInfo(IntPtr geom,
int info);
1184 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildDouble"), SuppressUnmanagedCodeSecurity]
1185 public static extern void GeomTriMeshDataBuildDouble(IntPtr d,
1186 double[] vertices,
int vertexStride,
int vertexCount,
1187 int[] indices,
int indexCount,
int triStride);
1189 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildDouble"), SuppressUnmanagedCodeSecurity]
1190 public static extern void GeomTriMeshDataBuildDouble(IntPtr d,
1191 IntPtr vertices,
int vertexStride,
int vertexCount,
1192 IntPtr indices,
int indexCount,
int triStride);
1194 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildDouble1"), SuppressUnmanagedCodeSecurity]
1195 public static extern void GeomTriMeshDataBuildDouble1(IntPtr d,
1196 double[] vertices,
int vertexStride,
int vertexCount,
1197 int[] indices,
int indexCount,
int triStride,
1200 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildDouble1"), SuppressUnmanagedCodeSecurity]
1201 public static extern void GeomTriMeshDataBuildDouble(IntPtr d,
1202 IntPtr vertices,
int vertexStride,
int vertexCount,
1203 IntPtr indices,
int indexCount,
int triStride,
1206 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSimple"), SuppressUnmanagedCodeSecurity]
1207 public static extern void GeomTriMeshDataBuildSingle(IntPtr d,
1208 dReal[] vertices,
int vertexStride,
int vertexCount,
1209 int[] indices,
int indexCount,
int triStride);
1211 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSimple"), SuppressUnmanagedCodeSecurity]
1212 public static extern void GeomTriMeshDataBuildSingle(IntPtr d,
1213 IntPtr vertices,
int vertexStride,
int vertexCount,
1214 IntPtr indices,
int indexCount,
int triStride);
1216 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSimple1"), SuppressUnmanagedCodeSecurity]
1217 public static extern void GeomTriMeshDataBuildSingle1(IntPtr d,
1218 dReal[] vertices,
int vertexStride,
int vertexCount,
1219 int[] indices,
int indexCount,
int triStride,
1222 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSimple1"), SuppressUnmanagedCodeSecurity]
1223 public static extern void GeomTriMeshDataBuildSingle1(IntPtr d,
1224 IntPtr vertices,
int vertexStride,
int vertexCount,
1225 IntPtr indices,
int indexCount,
int triStride,
1228 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSingle"), SuppressUnmanagedCodeSecurity]
1229 public static extern void GeomTriMeshDataBuildSimple(IntPtr d,
1230 float[] vertices,
int vertexStride,
int vertexCount,
1231 int[] indices,
int indexCount,
int triStride);
1233 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSingle"), SuppressUnmanagedCodeSecurity]
1234 public static extern void GeomTriMeshDataBuildSimple(IntPtr d,
1235 IntPtr vertices,
int vertexStride,
int vertexCount,
1236 IntPtr indices,
int indexCount,
int triStride);
1238 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSingle1"), SuppressUnmanagedCodeSecurity]
1239 public static extern void GeomTriMeshDataBuildSimple1(IntPtr d,
1240 float[] vertices,
int vertexStride,
int vertexCount,
1241 int[] indices,
int indexCount,
int triStride,
1244 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSingle1"), SuppressUnmanagedCodeSecurity]
1245 public static extern void GeomTriMeshDataBuildSimple1(IntPtr d,
1246 IntPtr vertices,
int vertexStride,
int vertexCount,
1247 IntPtr indices,
int indexCount,
int triStride,
1250 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshClearTCCache"), SuppressUnmanagedCodeSecurity]
1251 public static extern void GeomTriMeshClearTCCache(IntPtr g);
1253 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataCreate"), SuppressUnmanagedCodeSecurity]
1254 public static extern IntPtr GeomTriMeshDataCreate();
1256 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataDestroy"), SuppressUnmanagedCodeSecurity]
1257 public static extern void GeomTriMeshDataDestroy(IntPtr d);
1259 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataGet"), SuppressUnmanagedCodeSecurity]
1260 public static extern IntPtr GeomTriMeshDataGet(IntPtr d,
int data_id);
1262 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataPreprocess"), SuppressUnmanagedCodeSecurity]
1263 public static extern void GeomTriMeshDataPreprocess(IntPtr d);
1265 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataSet"), SuppressUnmanagedCodeSecurity]
1266 public static extern void GeomTriMeshDataSet(IntPtr d,
int data_id, IntPtr in_data);
1268 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataUpdate"), SuppressUnmanagedCodeSecurity]
1269 public static extern void GeomTriMeshDataUpdate(IntPtr d);
1271 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshEnableTC"), SuppressUnmanagedCodeSecurity]
1272 public static extern void GeomTriMeshEnableTC(IntPtr g,
int geomClass,
bool enable);
1274 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetArrayCallback"), SuppressUnmanagedCodeSecurity]
1275 public static extern TriArrayCallback GeomTriMeshGetArrayCallback(IntPtr g);
1277 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetCallback"), SuppressUnmanagedCodeSecurity]
1278 public static extern TriCallback GeomTriMeshGetCallback(IntPtr g);
1280 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetData"), SuppressUnmanagedCodeSecurity]
1281 public static extern IntPtr GeomTriMeshGetData(IntPtr g);
1283 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetLastTransform"), SuppressUnmanagedCodeSecurity]
1284 public extern unsafe
static Matrix4* GeomTriMeshGetLastTransformUnsafe(IntPtr geom);
1285 public static Matrix4 GeomTriMeshGetLastTransform(IntPtr geom)
1287 unsafe {
return *(GeomTriMeshGetLastTransformUnsafe(geom)); }
1290 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetPoint"), SuppressUnmanagedCodeSecurity]
1291 public extern static void GeomTriMeshGetPoint(IntPtr g,
int index,
dReal u,
dReal v, ref Vector3 outVec);
1293 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetRayCallback"), SuppressUnmanagedCodeSecurity]
1294 public static extern TriRayCallback GeomTriMeshGetRayCallback(IntPtr g);
1296 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetTriangle"), SuppressUnmanagedCodeSecurity]
1297 public extern static void GeomTriMeshGetTriangle(IntPtr g,
int index, ref Vector3 v0, ref Vector3 v1, ref Vector3 v2);
1299 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetTriangleCount"), SuppressUnmanagedCodeSecurity]
1300 public extern static int GeomTriMeshGetTriangleCount(IntPtr g);
1302 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetTriMeshDataID"), SuppressUnmanagedCodeSecurity]
1303 public static extern IntPtr GeomTriMeshGetTriMeshDataID(IntPtr g);
1305 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshIsTCEnabled"), SuppressUnmanagedCodeSecurity]
1306 public static extern bool GeomTriMeshIsTCEnabled(IntPtr g,
int geomClass);
1308 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetArrayCallback"), SuppressUnmanagedCodeSecurity]
1309 public static extern void GeomTriMeshSetArrayCallback(IntPtr g, TriArrayCallback arrayCallback);
1311 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetCallback"), SuppressUnmanagedCodeSecurity]
1312 public static extern void GeomTriMeshSetCallback(IntPtr g, TriCallback callback);
1314 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetData"), SuppressUnmanagedCodeSecurity]
1315 public static extern void GeomTriMeshSetData(IntPtr g, IntPtr data);
1317 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetLastTransform"), SuppressUnmanagedCodeSecurity]
1318 public static extern void GeomTriMeshSetLastTransform(IntPtr g, ref Matrix4 last_trans);
1320 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetLastTransform"), SuppressUnmanagedCodeSecurity]
1321 public static extern void GeomTriMeshSetLastTransform(IntPtr g, ref
dReal M00);
1323 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetRayCallback"), SuppressUnmanagedCodeSecurity]
1324 public static extern void GeomTriMeshSetRayCallback(IntPtr g, TriRayCallback callback);
1326 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGetConfiguration"), SuppressUnmanagedCodeSecurity]
1327 public static extern IntPtr iGetConfiguration();
1329 public static string GetConfiguration()
1331 IntPtr ptr = iGetConfiguration();
1332 string s = Marshal.PtrToStringAnsi(ptr);
1336 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dHashSpaceCreate"), SuppressUnmanagedCodeSecurity]
1337 public static extern IntPtr HashSpaceCreate(IntPtr space);
1339 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dHashSpaceGetLevels"), SuppressUnmanagedCodeSecurity]
1340 public static extern void HashSpaceGetLevels(IntPtr space, out
int minlevel, out
int maxlevel);
1342 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dHashSpaceSetLevels"), SuppressUnmanagedCodeSecurity]
1343 public static extern void HashSpaceSetLevels(IntPtr space,
int minlevel,
int maxlevel);
1345 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dInfiniteAABB"), SuppressUnmanagedCodeSecurity]
1346 public static extern void InfiniteAABB(IntPtr geom, out AABB aabb);
1348 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dInitODE"), SuppressUnmanagedCodeSecurity]
1349 public static extern void InitODE();
1351 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dInitODE2"), SuppressUnmanagedCodeSecurity]
1352 public static extern int InitODE2(uint ODEInitFlags);
1354 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dIsPositiveDefinite"), SuppressUnmanagedCodeSecurity]
1355 public static extern int IsPositiveDefinite(ref
dReal A,
int n);
1357 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dInvertPDMatrix"), SuppressUnmanagedCodeSecurity]
1358 public static extern int InvertPDMatrix(ref
dReal A, out
dReal Ainv,
int n);
1360 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddAMotorTorques"), SuppressUnmanagedCodeSecurity]
1361 public static extern void JointAddAMotorTorques(IntPtr joint,
dReal torque1,
dReal torque2,
dReal torque3);
1363 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddHingeTorque"), SuppressUnmanagedCodeSecurity]
1364 public static extern void JointAddHingeTorque(IntPtr joint,
dReal torque);
1366 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddHinge2Torque"), SuppressUnmanagedCodeSecurity]
1367 public static extern void JointAddHinge2Torques(IntPtr joint,
dReal torque1,
dReal torque2);
1369 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddPRTorque"), SuppressUnmanagedCodeSecurity]
1370 public static extern void JointAddPRTorque(IntPtr joint,
dReal torque);
1372 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddUniversalTorque"), SuppressUnmanagedCodeSecurity]
1373 public static extern void JointAddUniversalTorques(IntPtr joint,
dReal torque1,
dReal torque2);
1375 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddSliderForce"), SuppressUnmanagedCodeSecurity]
1376 public static extern void JointAddSliderForce(IntPtr joint,
dReal force);
1378 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAttach"), SuppressUnmanagedCodeSecurity]
1379 public static extern void JointAttach(IntPtr joint, IntPtr body1, IntPtr body2);
1381 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateAMotor"), SuppressUnmanagedCodeSecurity]
1382 public static extern IntPtr JointCreateAMotor(IntPtr world, IntPtr group);
1384 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateBall"), SuppressUnmanagedCodeSecurity]
1385 public static extern IntPtr JointCreateBall(IntPtr world, IntPtr group);
1387 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateContact"), SuppressUnmanagedCodeSecurity]
1388 public static extern IntPtr JointCreateContact(IntPtr world, IntPtr group, ref Contact contact);
1389 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateContact"), SuppressUnmanagedCodeSecurity]
1390 public static extern IntPtr JointCreateContactPtr(IntPtr world, IntPtr group, IntPtr contact);
1392 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateFixed"), SuppressUnmanagedCodeSecurity]
1393 public static extern IntPtr JointCreateFixed(IntPtr world, IntPtr group);
1395 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateHinge"), SuppressUnmanagedCodeSecurity]
1396 public static extern IntPtr JointCreateHinge(IntPtr world, IntPtr group);
1398 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateHinge2"), SuppressUnmanagedCodeSecurity]
1399 public static extern IntPtr JointCreateHinge2(IntPtr world, IntPtr group);
1401 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateLMotor"), SuppressUnmanagedCodeSecurity]
1402 public static extern IntPtr JointCreateLMotor(IntPtr world, IntPtr group);
1404 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateNull"), SuppressUnmanagedCodeSecurity]
1405 public static extern IntPtr JointCreateNull(IntPtr world, IntPtr group);
1407 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreatePR"), SuppressUnmanagedCodeSecurity]
1408 public static extern IntPtr JointCreatePR(IntPtr world, IntPtr group);
1410 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreatePlane2D"), SuppressUnmanagedCodeSecurity]
1411 public static extern IntPtr JointCreatePlane2D(IntPtr world, IntPtr group);
1413 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateSlider"), SuppressUnmanagedCodeSecurity]
1414 public static extern IntPtr JointCreateSlider(IntPtr world, IntPtr group);
1416 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateUniversal"), SuppressUnmanagedCodeSecurity]
1417 public static extern IntPtr JointCreateUniversal(IntPtr world, IntPtr group);
1419 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointDestroy"), SuppressUnmanagedCodeSecurity]
1420 public static extern void JointDestroy(IntPtr j);
1422 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorAngle"), SuppressUnmanagedCodeSecurity]
1423 public static extern dReal JointGetAMotorAngle(IntPtr j,
int anum);
1425 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorAngleRate"), SuppressUnmanagedCodeSecurity]
1426 public static extern dReal JointGetAMotorAngleRate(IntPtr j,
int anum);
1428 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorAxis"), SuppressUnmanagedCodeSecurity]
1429 public static extern void JointGetAMotorAxis(IntPtr j,
int anum, out Vector3 result);
1431 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorAxisRel"), SuppressUnmanagedCodeSecurity]
1432 public static extern int JointGetAMotorAxisRel(IntPtr j,
int anum);
1434 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorMode"), SuppressUnmanagedCodeSecurity]
1435 public static extern int JointGetAMotorMode(IntPtr j);
1437 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorNumAxes"), SuppressUnmanagedCodeSecurity]
1438 public static extern int JointGetAMotorNumAxes(IntPtr j);
1440 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorParam"), SuppressUnmanagedCodeSecurity]
1441 public static extern dReal JointGetAMotorParam(IntPtr j,
int parameter);
1443 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetBallAnchor"), SuppressUnmanagedCodeSecurity]
1444 public static extern void JointGetBallAnchor(IntPtr j, out Vector3 result);
1446 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetBallAnchor2"), SuppressUnmanagedCodeSecurity]
1447 public static extern void JointGetBallAnchor2(IntPtr j, out Vector3 result);
1449 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetBody"), SuppressUnmanagedCodeSecurity]
1450 public static extern IntPtr JointGetBody(IntPtr j);
1452 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetData"), SuppressUnmanagedCodeSecurity]
1453 public static extern IntPtr JointGetData(IntPtr j);
1455 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetFeedback"), SuppressUnmanagedCodeSecurity]
1456 public extern unsafe
static JointFeedback* JointGetFeedbackUnsafe(IntPtr j);
1457 public static JointFeedback JointGetFeedback(IntPtr j)
1459 unsafe {
return *(JointGetFeedbackUnsafe(j)); }
1462 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAnchor"), SuppressUnmanagedCodeSecurity]
1463 public static extern void JointGetHingeAnchor(IntPtr j, out Vector3 result);
1465 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAngle"), SuppressUnmanagedCodeSecurity]
1466 public static extern dReal JointGetHingeAngle(IntPtr j);
1468 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAngleRate"), SuppressUnmanagedCodeSecurity]
1469 public static extern dReal JointGetHingeAngleRate(IntPtr j);
1471 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAxis"), SuppressUnmanagedCodeSecurity]
1472 public static extern void JointGetHingeAxis(IntPtr j, out Vector3 result);
1474 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeParam"), SuppressUnmanagedCodeSecurity]
1475 public static extern dReal JointGetHingeParam(IntPtr j,
int parameter);
1477 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Angle1"), SuppressUnmanagedCodeSecurity]
1478 public static extern dReal JointGetHinge2Angle1(IntPtr j);
1480 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Angle1Rate"), SuppressUnmanagedCodeSecurity]
1481 public static extern dReal JointGetHinge2Angle1Rate(IntPtr j);
1483 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Angle2Rate"), SuppressUnmanagedCodeSecurity]
1484 public static extern dReal JointGetHinge2Angle2Rate(IntPtr j);
1486 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAnchor2"), SuppressUnmanagedCodeSecurity]
1487 public static extern void JointGetHingeAnchor2(IntPtr j, out Vector3 result);
1489 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Anchor"), SuppressUnmanagedCodeSecurity]
1490 public static extern void JointGetHinge2Anchor(IntPtr j, out Vector3 result);
1492 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Anchor2"), SuppressUnmanagedCodeSecurity]
1493 public static extern void JointGetHinge2Anchor2(IntPtr j, out Vector3 result);
1495 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Axis1"), SuppressUnmanagedCodeSecurity]
1496 public static extern void JointGetHinge2Axis1(IntPtr j, out Vector3 result);
1498 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Axis2"), SuppressUnmanagedCodeSecurity]
1499 public static extern void JointGetHinge2Axis2(IntPtr j, out Vector3 result);
1501 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Param"), SuppressUnmanagedCodeSecurity]
1502 public static extern dReal JointGetHinge2Param(IntPtr j,
int parameter);
1504 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetLMotorAxis"), SuppressUnmanagedCodeSecurity]
1505 public static extern void JointGetLMotorAxis(IntPtr j,
int anum, out Vector3 result);
1507 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetLMotorNumAxes"), SuppressUnmanagedCodeSecurity]
1508 public static extern int JointGetLMotorNumAxes(IntPtr j);
1510 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetLMotorParam"), SuppressUnmanagedCodeSecurity]
1511 public static extern dReal JointGetLMotorParam(IntPtr j,
int parameter);
1513 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRAnchor"), SuppressUnmanagedCodeSecurity]
1514 public static extern void JointGetPRAnchor(IntPtr j, out Vector3 result);
1516 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRAxis1"), SuppressUnmanagedCodeSecurity]
1517 public static extern void JointGetPRAxis1(IntPtr j, out Vector3 result);
1519 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRAxis2"), SuppressUnmanagedCodeSecurity]
1520 public static extern void JointGetPRAxis2(IntPtr j, out Vector3 result);
1522 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRParam"), SuppressUnmanagedCodeSecurity]
1523 public static extern dReal JointGetPRParam(IntPtr j,
int parameter);
1525 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRPosition"), SuppressUnmanagedCodeSecurity]
1526 public static extern dReal JointGetPRPosition(IntPtr j);
1528 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRPositionRate"), SuppressUnmanagedCodeSecurity]
1529 public static extern dReal JointGetPRPositionRate(IntPtr j);
1531 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetSliderAxis"), SuppressUnmanagedCodeSecurity]
1532 public static extern void JointGetSliderAxis(IntPtr j, out Vector3 result);
1534 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetSliderParam"), SuppressUnmanagedCodeSecurity]
1535 public static extern dReal JointGetSliderParam(IntPtr j,
int parameter);
1537 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetSliderPosition"), SuppressUnmanagedCodeSecurity]
1538 public static extern dReal JointGetSliderPosition(IntPtr j);
1540 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetSliderPositionRate"), SuppressUnmanagedCodeSecurity]
1541 public static extern dReal JointGetSliderPositionRate(IntPtr j);
1543 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetType"), SuppressUnmanagedCodeSecurity]
1544 public static extern JointType JointGetType(IntPtr j);
1546 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAnchor"), SuppressUnmanagedCodeSecurity]
1547 public static extern void JointGetUniversalAnchor(IntPtr j, out Vector3 result);
1549 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAnchor2"), SuppressUnmanagedCodeSecurity]
1550 public static extern void JointGetUniversalAnchor2(IntPtr j, out Vector3 result);
1552 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngle1"), SuppressUnmanagedCodeSecurity]
1553 public static extern dReal JointGetUniversalAngle1(IntPtr j);
1555 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngle1Rate"), SuppressUnmanagedCodeSecurity]
1556 public static extern dReal JointGetUniversalAngle1Rate(IntPtr j);
1558 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngle2"), SuppressUnmanagedCodeSecurity]
1559 public static extern dReal JointGetUniversalAngle2(IntPtr j);
1561 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngle2Rate"), SuppressUnmanagedCodeSecurity]
1562 public static extern dReal JointGetUniversalAngle2Rate(IntPtr j);
1564 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngles"), SuppressUnmanagedCodeSecurity]
1565 public static extern void JointGetUniversalAngles(IntPtr j, out
dReal angle1, out
dReal angle2);
1567 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAxis1"), SuppressUnmanagedCodeSecurity]
1568 public static extern void JointGetUniversalAxis1(IntPtr j, out Vector3 result);
1570 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAxis2"), SuppressUnmanagedCodeSecurity]
1571 public static extern void JointGetUniversalAxis2(IntPtr j, out Vector3 result);
1573 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalParam"), SuppressUnmanagedCodeSecurity]
1574 public static extern dReal JointGetUniversalParam(IntPtr j,
int parameter);
1576 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGroupCreate"), SuppressUnmanagedCodeSecurity]
1577 public static extern IntPtr JointGroupCreate(
int max_size);
1579 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGroupDestroy"), SuppressUnmanagedCodeSecurity]
1580 public static extern void JointGroupDestroy(IntPtr group);
1582 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGroupEmpty"), SuppressUnmanagedCodeSecurity]
1583 public static extern void JointGroupEmpty(IntPtr group);
1585 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorAngle"), SuppressUnmanagedCodeSecurity]
1586 public static extern void JointSetAMotorAngle(IntPtr j,
int anum,
dReal angle);
1588 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorAxis"), SuppressUnmanagedCodeSecurity]
1589 public static extern void JointSetAMotorAxis(IntPtr j,
int anum,
int rel,
dReal x,
dReal y,
dReal z);
1591 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorMode"), SuppressUnmanagedCodeSecurity]
1592 public static extern void JointSetAMotorMode(IntPtr j,
int mode);
1594 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorNumAxes"), SuppressUnmanagedCodeSecurity]
1595 public static extern void JointSetAMotorNumAxes(IntPtr group,
int num);
1597 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorParam"), SuppressUnmanagedCodeSecurity]
1598 public static extern void JointSetAMotorParam(IntPtr group,
int parameter,
dReal value);
1600 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetBallAnchor"), SuppressUnmanagedCodeSecurity]
1601 public static extern void JointSetBallAnchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1603 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetBallAnchor2"), SuppressUnmanagedCodeSecurity]
1604 public static extern void JointSetBallAnchor2(IntPtr j,
dReal x,
dReal y,
dReal z);
1606 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetData"), SuppressUnmanagedCodeSecurity]
1607 public static extern void JointSetData(IntPtr j, IntPtr data);
1609 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetFeedback"), SuppressUnmanagedCodeSecurity]
1610 public static extern void JointSetFeedback(IntPtr j, out JointFeedback feedback);
1612 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetFixed"), SuppressUnmanagedCodeSecurity]
1613 public static extern void JointSetFixed(IntPtr j);
1615 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHingeAnchor"), SuppressUnmanagedCodeSecurity]
1616 public static extern void JointSetHingeAnchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1618 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHingeAnchorDelta"), SuppressUnmanagedCodeSecurity]
1621 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHingeAxis"), SuppressUnmanagedCodeSecurity]
1622 public static extern void JointSetHingeAxis(IntPtr j,
dReal x,
dReal y,
dReal z);
1624 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHingeParam"), SuppressUnmanagedCodeSecurity]
1625 public static extern void JointSetHingeParam(IntPtr j,
int parameter,
dReal value);
1627 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHinge2Anchor"), SuppressUnmanagedCodeSecurity]
1628 public static extern void JointSetHinge2Anchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1630 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHinge2Axis1"), SuppressUnmanagedCodeSecurity]
1631 public static extern void JointSetHinge2Axis1(IntPtr j,
dReal x,
dReal y,
dReal z);
1633 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHinge2Axis2"), SuppressUnmanagedCodeSecurity]
1634 public static extern void JointSetHinge2Axis2(IntPtr j,
dReal x,
dReal y,
dReal z);
1636 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHinge2Param"), SuppressUnmanagedCodeSecurity]
1637 public static extern void JointSetHinge2Param(IntPtr j,
int parameter,
dReal value);
1639 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetLMotorAxis"), SuppressUnmanagedCodeSecurity]
1640 public static extern void JointSetLMotorAxis(IntPtr j,
int anum,
int rel,
dReal x,
dReal y,
dReal z);
1642 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetLMotorNumAxes"), SuppressUnmanagedCodeSecurity]
1643 public static extern void JointSetLMotorNumAxes(IntPtr j,
int num);
1645 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetLMotorParam"), SuppressUnmanagedCodeSecurity]
1646 public static extern void JointSetLMotorParam(IntPtr j,
int parameter,
dReal value);
1648 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPlane2DAngleParam"), SuppressUnmanagedCodeSecurity]
1649 public static extern void JointSetPlane2DAngleParam(IntPtr j,
int parameter,
dReal value);
1651 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPlane2DXParam"), SuppressUnmanagedCodeSecurity]
1652 public static extern void JointSetPlane2DXParam(IntPtr j,
int parameter,
dReal value);
1654 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPlane2DYParam"), SuppressUnmanagedCodeSecurity]
1655 public static extern void JointSetPlane2DYParam(IntPtr j,
int parameter,
dReal value);
1657 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPRAnchor"), SuppressUnmanagedCodeSecurity]
1658 public static extern void JointSetPRAnchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1660 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPRAxis1"), SuppressUnmanagedCodeSecurity]
1661 public static extern void JointSetPRAxis1(IntPtr j,
dReal x,
dReal y,
dReal z);
1663 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPRAxis2"), SuppressUnmanagedCodeSecurity]
1664 public static extern void JointSetPRAxis2(IntPtr j,
dReal x,
dReal y,
dReal z);
1666 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPRParam"), SuppressUnmanagedCodeSecurity]
1667 public static extern void JointSetPRParam(IntPtr j,
int parameter,
dReal value);
1669 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetSliderAxis"), SuppressUnmanagedCodeSecurity]
1670 public static extern void JointSetSliderAxis(IntPtr j,
dReal x,
dReal y,
dReal z);
1672 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetSliderAxisDelta"), SuppressUnmanagedCodeSecurity]
1675 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetSliderParam"), SuppressUnmanagedCodeSecurity]
1676 public static extern void JointSetSliderParam(IntPtr j,
int parameter,
dReal value);
1678 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetUniversalAnchor"), SuppressUnmanagedCodeSecurity]
1679 public static extern void JointSetUniversalAnchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1681 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetUniversalAxis1"), SuppressUnmanagedCodeSecurity]
1682 public static extern void JointSetUniversalAxis1(IntPtr j,
dReal x,
dReal y,
dReal z);
1684 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetUniversalAxis2"), SuppressUnmanagedCodeSecurity]
1685 public static extern void JointSetUniversalAxis2(IntPtr j,
dReal x,
dReal y,
dReal z);
1687 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetUniversalParam"), SuppressUnmanagedCodeSecurity]
1688 public static extern void JointSetUniversalParam(IntPtr j,
int parameter,
dReal value);
1690 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dLDLTAddTL"), SuppressUnmanagedCodeSecurity]
1691 public static extern void LDLTAddTL(ref
dReal L, ref
dReal d, ref
dReal a,
int n,
int nskip);
1693 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassAdd"), SuppressUnmanagedCodeSecurity]
1694 public static extern void MassAdd(ref Mass a, ref Mass b);
1696 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassAdjust"), SuppressUnmanagedCodeSecurity]
1697 public static extern void MassAdjust(ref Mass m,
dReal newmass);
1699 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassCheck"), SuppressUnmanagedCodeSecurity]
1700 public static extern bool MassCheck(ref Mass m);
1702 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassRotate"), SuppressUnmanagedCodeSecurity]
1703 public static extern void MassRotate(ref Mass mass, ref Matrix3 R);
1705 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassRotate"), SuppressUnmanagedCodeSecurity]
1706 public static extern void MassRotate(ref Mass mass, ref
dReal M00);
1708 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetBox"), SuppressUnmanagedCodeSecurity]
1709 public static extern void MassSetBox(out Mass mass,
dReal density,
dReal lx,
dReal ly,
dReal lz);
1711 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetBoxTotal"), SuppressUnmanagedCodeSecurity]
1712 public static extern void MassSetBoxTotal(out Mass mass,
dReal total_mass,
dReal lx,
dReal ly,
dReal lz);
1714 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetCapsule"), SuppressUnmanagedCodeSecurity]
1715 public static extern void MassSetCapsule(out Mass mass,
dReal density,
int direction,
dReal radius,
dReal length);
1717 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetCapsuleTotal"), SuppressUnmanagedCodeSecurity]
1718 public static extern void MassSetCapsuleTotal(out Mass mass,
dReal total_mass,
int direction,
dReal radius,
dReal length);
1720 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetCylinder"), SuppressUnmanagedCodeSecurity]
1721 public static extern void MassSetCylinder(out Mass mass,
dReal density,
int direction,
dReal radius,
dReal length);
1723 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetCylinderTotal"), SuppressUnmanagedCodeSecurity]
1724 public static extern void MassSetCylinderTotal(out Mass mass,
dReal total_mass,
int direction,
dReal radius,
dReal length);
1726 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetParameters"), SuppressUnmanagedCodeSecurity]
1727 public static extern void MassSetParameters(out Mass mass,
dReal themass,
1732 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetSphere"), SuppressUnmanagedCodeSecurity]
1733 public static extern void MassSetSphere(out Mass mass,
dReal density,
dReal radius);
1735 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetSphereTotal"), SuppressUnmanagedCodeSecurity]
1736 public static extern void dMassSetSphereTotal(out Mass mass,
dReal total_mass,
dReal radius);
1738 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetTrimesh"), SuppressUnmanagedCodeSecurity]
1739 public static extern void MassSetTrimesh(out Mass mass,
dReal density, IntPtr g);
1741 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetZero"), SuppressUnmanagedCodeSecurity]
1742 public static extern void MassSetZero(out Mass mass);
1744 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassTranslate"), SuppressUnmanagedCodeSecurity]
1745 public static extern void MassTranslate(ref Mass mass,
dReal x,
dReal y,
dReal z);
1747 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMultiply0"), SuppressUnmanagedCodeSecurity]
1748 public static extern void Multiply0(out
dReal A00, ref
dReal B00, ref
dReal C00,
int p,
int q,
int r);
1750 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMultiply0"), SuppressUnmanagedCodeSecurity]
1751 private static extern void MultiplyiM3V3(out Vector3 vout, ref Matrix3 matrix, ref Vector3 vect,
int p,
int q,
int r);
1752 public static void MultiplyM3V3(out Vector3 outvector, ref Matrix3 matrix, ref Vector3 invector)
1754 MultiplyiM3V3(out outvector, ref matrix, ref invector, 3, 3, 1);
1757 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMultiply1"), SuppressUnmanagedCodeSecurity]
1758 public static extern void Multiply1(out
dReal A00, ref
dReal B00, ref
dReal C00,
int p,
int q,
int r);
1760 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMultiply2"), SuppressUnmanagedCodeSecurity]
1761 public static extern void Multiply2(out
dReal A00, ref
dReal B00, ref
dReal C00,
int p,
int q,
int r);
1763 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQFromAxisAndAngle"), SuppressUnmanagedCodeSecurity]
1764 public static extern void QFromAxisAndAngle(out Quaternion q,
dReal ax,
dReal ay,
dReal az,
dReal angle);
1766 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQfromR"), SuppressUnmanagedCodeSecurity]
1767 public static extern void QfromR(out Quaternion q, ref Matrix3 R);
1769 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQMultiply0"), SuppressUnmanagedCodeSecurity]
1770 public static extern void QMultiply0(out Quaternion qa, ref Quaternion qb, ref Quaternion qc);
1772 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQMultiply1"), SuppressUnmanagedCodeSecurity]
1773 public static extern void QMultiply1(out Quaternion qa, ref Quaternion qb, ref Quaternion qc);
1775 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQMultiply2"), SuppressUnmanagedCodeSecurity]
1776 public static extern void QMultiply2(out Quaternion qa, ref Quaternion qb, ref Quaternion qc);
1778 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQMultiply3"), SuppressUnmanagedCodeSecurity]
1779 public static extern void QMultiply3(out Quaternion qa, ref Quaternion qb, ref Quaternion qc);
1781 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQSetIdentity"), SuppressUnmanagedCodeSecurity]
1782 public static extern void QSetIdentity(out Quaternion q);
1784 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQuadTreeSpaceCreate"), SuppressUnmanagedCodeSecurity]
1785 public static extern IntPtr QuadTreeSpaceCreate(IntPtr space, ref Vector3 center, ref Vector3 extents,
int depth);
1787 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQuadTreeSpaceCreate"), SuppressUnmanagedCodeSecurity]
1788 public static extern IntPtr QuadTreeSpaceCreate(IntPtr space, ref
dReal centerX, ref
dReal extentsX,
int depth);
1790 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRandReal"), SuppressUnmanagedCodeSecurity]
1791 public static extern dReal RandReal();
1793 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRFrom2Axes"), SuppressUnmanagedCodeSecurity]
1796 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRFromAxisAndAngle"), SuppressUnmanagedCodeSecurity]
1797 public static extern void RFromAxisAndAngle(out Matrix3 R,
dReal x,
dReal y,
dReal z,
dReal angle);
1799 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRFromEulerAngles"), SuppressUnmanagedCodeSecurity]
1800 public static extern void RFromEulerAngles(out Matrix3 R,
dReal phi,
dReal theta,
dReal psi);
1802 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRfromQ"), SuppressUnmanagedCodeSecurity]
1803 public static extern void RfromQ(out Matrix3 R, ref Quaternion q);
1805 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRFromZAxis"), SuppressUnmanagedCodeSecurity]
1806 public static extern void RFromZAxis(out Matrix3 R,
dReal ax,
dReal ay,
dReal az);
1808 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRSetIdentity"), SuppressUnmanagedCodeSecurity]
1809 public static extern void RSetIdentity(out Matrix3 R);
1811 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSetValue"), SuppressUnmanagedCodeSecurity]
1812 public static extern void SetValue(out
dReal a,
int n);
1814 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSetZero"), SuppressUnmanagedCodeSecurity]
1815 public static extern void SetZero(out
dReal a,
int n);
1817 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSimpleSpaceCreate"), SuppressUnmanagedCodeSecurity]
1818 public static extern IntPtr SimpleSpaceCreate(IntPtr space);
1820 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSolveCholesky"), SuppressUnmanagedCodeSecurity]
1821 public static extern void SolveCholesky(ref
dReal L, out
dReal b,
int n);
1823 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSolveL1"), SuppressUnmanagedCodeSecurity]
1824 public static extern void SolveL1(ref
dReal L, out
dReal b,
int n,
int nskip);
1826 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSolveL1T"), SuppressUnmanagedCodeSecurity]
1827 public static extern void SolveL1T(ref
dReal L, out
dReal b,
int n,
int nskip);
1829 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSolveLDLT"), SuppressUnmanagedCodeSecurity]
1830 public static extern void SolveLDLT(ref
dReal L, ref
dReal d, out
dReal b,
int n,
int nskip);
1832 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceAdd"), SuppressUnmanagedCodeSecurity]
1833 public static extern void SpaceAdd(IntPtr space, IntPtr geom);
1835 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceLockQuery"), SuppressUnmanagedCodeSecurity]
1836 public static extern bool SpaceLockQuery(IntPtr space);
1838 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceClean"), SuppressUnmanagedCodeSecurity]
1839 public static extern void SpaceClean(IntPtr space);
1841 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceCollide"), SuppressUnmanagedCodeSecurity]
1842 public static extern void SpaceCollide(IntPtr space, IntPtr data, NearCallback callback);
1844 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceCollide2"), SuppressUnmanagedCodeSecurity]
1845 public static extern void SpaceCollide2(IntPtr space1, IntPtr space2, IntPtr data, NearCallback callback);
1847 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceDestroy"), SuppressUnmanagedCodeSecurity]
1848 public static extern void SpaceDestroy(IntPtr space);
1850 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceGetCleanup"), SuppressUnmanagedCodeSecurity]
1851 public static extern bool SpaceGetCleanup(IntPtr space);
1853 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceGetNumGeoms"), SuppressUnmanagedCodeSecurity]
1854 public static extern int SpaceGetNumGeoms(IntPtr space);
1856 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceGetGeom"), SuppressUnmanagedCodeSecurity]
1857 public static extern IntPtr SpaceGetGeom(IntPtr space,
int i);
1859 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceGetSublevel"), SuppressUnmanagedCodeSecurity]
1860 public static extern int SpaceGetSublevel(IntPtr space);
1862 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceQuery"), SuppressUnmanagedCodeSecurity]
1863 public static extern bool SpaceQuery(IntPtr space, IntPtr geom);
1865 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceRemove"), SuppressUnmanagedCodeSecurity]
1866 public static extern void SpaceRemove(IntPtr space, IntPtr geom);
1868 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceSetCleanup"), SuppressUnmanagedCodeSecurity]
1869 public static extern void SpaceSetCleanup(IntPtr space,
bool mode);
1871 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceSetSublevel"), SuppressUnmanagedCodeSecurity]
1872 public static extern void SpaceSetSublevel(IntPtr space,
int sublevel);
1874 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSweepAndPruneSpaceCreate"), SuppressUnmanagedCodeSecurity]
1875 public static extern IntPtr SweepAndPruneSpaceCreate(IntPtr space,
int AxisOrder);
1877 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dVectorScale"), SuppressUnmanagedCodeSecurity]
1878 public static extern void VectorScale(out
dReal a, ref
dReal d,
int n);
1880 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldCreate"), SuppressUnmanagedCodeSecurity]
1881 public static extern IntPtr WorldCreate();
1883 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldDestroy"), SuppressUnmanagedCodeSecurity]
1884 public static extern void WorldDestroy(IntPtr world);
1886 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableAverageSamplesCount"), SuppressUnmanagedCodeSecurity]
1887 public static extern int WorldGetAutoDisableAverageSamplesCount(IntPtr world);
1889 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableAngularThreshold"), SuppressUnmanagedCodeSecurity]
1890 public static extern dReal WorldGetAutoDisableAngularThreshold(IntPtr world);
1892 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableFlag"), SuppressUnmanagedCodeSecurity]
1893 public static extern bool WorldGetAutoDisableFlag(IntPtr world);
1895 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableLinearThreshold"), SuppressUnmanagedCodeSecurity]
1896 public static extern dReal WorldGetAutoDisableLinearThreshold(IntPtr world);
1898 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableSteps"), SuppressUnmanagedCodeSecurity]
1899 public static extern int WorldGetAutoDisableSteps(IntPtr world);
1901 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableTime"), SuppressUnmanagedCodeSecurity]
1902 public static extern dReal WorldGetAutoDisableTime(IntPtr world);
1904 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoEnableDepthSF1"), SuppressUnmanagedCodeSecurity]
1905 public static extern int WorldGetAutoEnableDepthSF1(IntPtr world);
1907 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetCFM"), SuppressUnmanagedCodeSecurity]
1908 public static extern dReal WorldGetCFM(IntPtr world);
1910 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetERP"), SuppressUnmanagedCodeSecurity]
1911 public static extern dReal WorldGetERP(IntPtr world);
1913 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetGravity"), SuppressUnmanagedCodeSecurity]
1914 public static extern void WorldGetGravity(IntPtr world, out Vector3 gravity);
1916 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetGravity"), SuppressUnmanagedCodeSecurity]
1917 public static extern void WorldGetGravity(IntPtr world, out
dReal X);
1919 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetContactMaxCorrectingVel"), SuppressUnmanagedCodeSecurity]
1920 public static extern dReal WorldGetContactMaxCorrectingVel(IntPtr world);
1922 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetContactSurfaceLayer"), SuppressUnmanagedCodeSecurity]
1923 public static extern dReal WorldGetContactSurfaceLayer(IntPtr world);
1925 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAngularDamping"), SuppressUnmanagedCodeSecurity]
1926 public static extern dReal WorldGetAngularDamping(IntPtr world);
1928 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAngularDampingThreshold"), SuppressUnmanagedCodeSecurity]
1929 public static extern dReal WorldGetAngularDampingThreshold(IntPtr world);
1931 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetLinearDamping"), SuppressUnmanagedCodeSecurity]
1932 public static extern dReal WorldGetLinearDamping(IntPtr world);
1934 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetLinearDampingThreshold"), SuppressUnmanagedCodeSecurity]
1935 public static extern dReal WorldGetLinearDampingThreshold(IntPtr world);
1937 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetQuickStepNumIterations"), SuppressUnmanagedCodeSecurity]
1938 public static extern int WorldGetQuickStepNumIterations(IntPtr world);
1940 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetQuickStepW"), SuppressUnmanagedCodeSecurity]
1941 public static extern dReal WorldGetQuickStepW(IntPtr world);
1943 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetMaxAngularSpeed"), SuppressUnmanagedCodeSecurity]
1944 public static extern dReal WorldGetMaxAngularSpeed(IntPtr world);
1946 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldImpulseToForce"), SuppressUnmanagedCodeSecurity]
1947 public static extern void WorldImpulseToForce(IntPtr world,
dReal stepsize,
dReal ix,
dReal iy,
dReal iz, out Vector3 force);
1949 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldImpulseToForce"), SuppressUnmanagedCodeSecurity]
1950 public static extern void WorldImpulseToForce(IntPtr world,
dReal stepsize,
dReal ix,
dReal iy,
dReal iz, out
dReal forceX);
1952 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldQuickStep"), SuppressUnmanagedCodeSecurity]
1953 public static extern void WorldQuickStep(IntPtr world,
dReal stepsize);
1955 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAngularDamping"), SuppressUnmanagedCodeSecurity]
1956 public static extern void WorldSetAngularDamping(IntPtr world,
dReal scale);
1958 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAngularDampingThreshold"), SuppressUnmanagedCodeSecurity]
1959 public static extern void WorldSetAngularDampingThreshold(IntPtr world,
dReal threshold);
1961 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableAngularThreshold"), SuppressUnmanagedCodeSecurity]
1962 public static extern void WorldSetAutoDisableAngularThreshold(IntPtr world,
dReal angular_threshold);
1964 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableAverageSamplesCount"), SuppressUnmanagedCodeSecurity]
1965 public static extern void WorldSetAutoDisableAverageSamplesCount(IntPtr world,
int average_samples_count);
1967 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableFlag"), SuppressUnmanagedCodeSecurity]
1968 public static extern void WorldSetAutoDisableFlag(IntPtr world,
bool do_auto_disable);
1970 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableLinearThreshold"), SuppressUnmanagedCodeSecurity]
1971 public static extern void WorldSetAutoDisableLinearThreshold(IntPtr world,
dReal linear_threshold);
1973 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableSteps"), SuppressUnmanagedCodeSecurity]
1974 public static extern void WorldSetAutoDisableSteps(IntPtr world,
int steps);
1976 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableTime"), SuppressUnmanagedCodeSecurity]
1977 public static extern void WorldSetAutoDisableTime(IntPtr world,
dReal time);
1979 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoEnableDepthSF1"), SuppressUnmanagedCodeSecurity]
1980 public static extern void WorldSetAutoEnableDepthSF1(IntPtr world,
int autoEnableDepth);
1982 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetCFM"), SuppressUnmanagedCodeSecurity]
1983 public static extern void WorldSetCFM(IntPtr world,
dReal cfm);
1985 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetContactMaxCorrectingVel"), SuppressUnmanagedCodeSecurity]
1986 public static extern void WorldSetContactMaxCorrectingVel(IntPtr world,
dReal vel);
1988 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetContactSurfaceLayer"), SuppressUnmanagedCodeSecurity]
1989 public static extern void WorldSetContactSurfaceLayer(IntPtr world,
dReal depth);
1991 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetDamping"), SuppressUnmanagedCodeSecurity]
1992 public static extern void WorldSetDamping(IntPtr world,
dReal linear_scale,
dReal angular_scale);
1994 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetERP"), SuppressUnmanagedCodeSecurity]
1995 public static extern void WorldSetERP(IntPtr world,
dReal erp);
1997 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetGravity"), SuppressUnmanagedCodeSecurity]
1998 public static extern void WorldSetGravity(IntPtr world,
dReal x,
dReal y,
dReal z);
2000 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetLinearDamping"), SuppressUnmanagedCodeSecurity]
2001 public static extern void WorldSetLinearDamping(IntPtr world,
dReal scale);
2003 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetLinearDampingThreshold"), SuppressUnmanagedCodeSecurity]
2004 public static extern void WorldSetLinearDampingThreshold(IntPtr world,
dReal threshold);
2006 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetQuickStepNumIterations"), SuppressUnmanagedCodeSecurity]
2007 public static extern void WorldSetQuickStepNumIterations(IntPtr world,
int num);
2009 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetQuickStepW"), SuppressUnmanagedCodeSecurity]
2010 public static extern void WorldSetQuickStepW(IntPtr world,
dReal over_relaxation);
2012 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetMaxAngularSpeed"), SuppressUnmanagedCodeSecurity]
2013 public static extern void WorldSetMaxAngularSpeed(IntPtr world,
dReal max_speed);
2015 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldStep"), SuppressUnmanagedCodeSecurity]
2016 public static extern void WorldStep(IntPtr world,
dReal stepsize);
2018 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldStepFast1"), SuppressUnmanagedCodeSecurity]
2019 public static extern void WorldStepFast1(IntPtr world,
dReal stepsize,
int maxiterations);
2021 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldExportDIF"), SuppressUnmanagedCodeSecurity]
2022 public static extern void WorldExportDIF(IntPtr world,
string filename,
bool append,
string prefix);
Matrix4(dReal m00, dReal m10, dReal m20, dReal m30, dReal m01, dReal m11, dReal m21, dReal m31, dReal m02, dReal m12, dReal m22, dReal m32, dReal m03, dReal m13, dReal m23, dReal m33)
Vector3(dReal x, dReal y, dReal z)
Vector4(dReal x, dReal y, dReal z, dReal w)
Matrix3(dReal m00, dReal m10, dReal m20, dReal m01, dReal m11, dReal m21, dReal m02, dReal m12, dReal m22)