44 using System.Runtime.InteropServices;
45 using System.Security;
46 using OMV = OpenMetaverse;
48 namespace OpenSim.Region.PhysicsModule.ODE
60 public static dReal Infinity = dReal.MaxValue;
61 public static int NTotalBodies = 0;
62 public static int NTotalGeoms = 0;
64 public const uint CONTACTS_UNIMPORTANT = 0x80000000;
66 #region Flags and Enumerations
69 public enum AllocateODEDataFlags : uint
72 CollisionData = 0x00000001,
77 public enum IniteODEFlags : uint
79 dInitFlagManualThreadCleanup = 0x00000001
83 public enum ContactFlags :
int
101 public enum GeomClassID :
int
114 SimpleSpaceClass = FirstSpaceClass,
117 LastSpaceClass = QuadTreeSpaceClass,
120 LastUserClass = FirstUserClass + MaxUserClasses - 1,
125 public enum JointType :
int
141 public enum JointParam :
int
178 public enum dSweepAndPruneAxis :
int
180 XYZ = ((0)|(1<<2)|(2<<4)),
181 XZY = ((0)|(2<<2)|(1<<4)),
182 YXZ = ((1)|(0<<2)|(2<<4)),
183 YZX = ((1)|(2<<2)|(0<<4)),
184 ZXY = ((2)|(0<<2)|(1<<4)),
185 ZYX = ((2)|(1<<2)|(0<<4))
192 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
193 public delegate
int AABBTestFn(IntPtr o1, IntPtr o2, ref AABB aabb);
195 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
196 public delegate
int ColliderFn(IntPtr o1, IntPtr o2,
int flags, out ContactGeom contact,
int skip);
198 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
199 public delegate
void GetAABBFn(IntPtr geom, out AABB aabb);
201 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
202 public delegate ColliderFn GetColliderFnFn(
int num);
204 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
205 public delegate
void GeomDtorFn(IntPtr o);
207 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
208 public delegate
dReal HeightfieldGetHeight(IntPtr p_user_data,
int x,
int z);
210 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
211 public delegate
dReal OSTerrainGetHeight(IntPtr p_user_data,
int x,
int z);
213 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
214 public delegate
void NearCallback(IntPtr data, IntPtr geom1, IntPtr geom2);
216 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
217 public delegate
int TriCallback(IntPtr trimesh, IntPtr refObject,
int triangleIndex);
219 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
220 public delegate
int TriArrayCallback(IntPtr trimesh, IntPtr refObject,
int[] triangleIndex,
int triCount);
222 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
223 public delegate
int TriRayCallback(IntPtr trimesh, IntPtr ray,
int triangleIndex,
dReal u,
dReal v);
229 [StructLayout(LayoutKind.Sequential)]
238 [StructLayout(LayoutKind.Sequential)]
244 public static readonly
int unmanagedSizeOf = Marshal.SizeOf(typeof(
Contact));
248 [StructLayout(LayoutKind.Sequential)]
259 public static readonly
int unmanagedSizeOf = Marshal.SizeOf(typeof(
ContactGeom));
262 [StructLayout(LayoutKind.Sequential)]
273 [StructLayout(LayoutKind.Sequential)]
283 [StructLayout(LayoutKind.Sequential)]
292 [StructLayout(LayoutKind.Sequential)]
297 M00 = m00; M10 = m10; M20 = m20; _m30 = 0.0f;
298 M01 = m01; M11 = m11; M21 = m21; _m31 = 0.0f;
299 M02 = m02; M12 = m12; M22 = m22; _m32 = 0.0f;
309 [StructLayout(LayoutKind.Sequential)]
317 M00 = m00; M10 = m10; M20 = m20; M30 = m30;
318 M01 = m01; M11 = m11; M21 = m21; M31 = m31;
319 M02 = m02; M12 = m12; M22 = m22; M32 = m32;
320 M03 = m03; M13 = m13; M23 = m23; M33 = m33;
328 [StructLayout(LayoutKind.Sequential)]
335 [StructLayout(LayoutKind.Sequential)]
353 [StructLayout(LayoutKind.Sequential)]
358 X = x; Y = y; Z = z; _w = 0.0f;
365 [StructLayout(LayoutKind.Sequential)]
370 X = x; Y = y; Z = z; W = w;
377 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dAllocateODEDataForThread"), SuppressUnmanagedCodeSecurity]
378 public static extern int AllocateODEDataForThread(uint ODEInitFlags);
380 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dAreConnected"), SuppressUnmanagedCodeSecurity]
381 public static extern bool AreConnected(IntPtr b1, IntPtr b2);
383 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dAreConnectedExcluding"), SuppressUnmanagedCodeSecurity]
384 public static extern bool AreConnectedExcluding(IntPtr b1, IntPtr b2, JointType joint_type);
386 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddForce"), SuppressUnmanagedCodeSecurity]
387 public static extern void BodyAddForce(IntPtr body,
dReal fx,
dReal fy,
dReal fz);
389 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddForceAtPos"), SuppressUnmanagedCodeSecurity]
392 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddForceAtRelPos"), SuppressUnmanagedCodeSecurity]
395 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddRelForce"), SuppressUnmanagedCodeSecurity]
396 public static extern void BodyAddRelForce(IntPtr body,
dReal fx,
dReal fy,
dReal fz);
398 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddRelForceAtPos"), SuppressUnmanagedCodeSecurity]
401 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddRelForceAtRelPos"), SuppressUnmanagedCodeSecurity]
404 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddRelTorque"), SuppressUnmanagedCodeSecurity]
405 public static extern void BodyAddRelTorque(IntPtr body,
dReal fx,
dReal fy,
dReal fz);
407 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyAddTorque"), SuppressUnmanagedCodeSecurity]
408 public static extern void BodyAddTorque(IntPtr body,
dReal fx,
dReal fy,
dReal fz);
410 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyPosition"), SuppressUnmanagedCodeSecurity]
411 public static extern void BodyCopyPosition(IntPtr body, out
Vector3 pos);
413 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyPosition"), SuppressUnmanagedCodeSecurity]
414 public static extern void BodyCopyPosition(IntPtr body, out
dReal X);
416 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyQuaternion"), SuppressUnmanagedCodeSecurity]
417 public static extern void BodyCopyQuaternion(IntPtr body, out
Quaternion quat);
419 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyQuaternion"), SuppressUnmanagedCodeSecurity]
420 public static extern void BodyCopyQuaternion(IntPtr body, out
dReal X);
422 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyRotation"), SuppressUnmanagedCodeSecurity]
423 public static extern void BodyCopyRotation(IntPtr body, out
Matrix3 R);
425 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCopyRotation"), SuppressUnmanagedCodeSecurity]
426 public static extern void BodyCopyRotation(IntPtr body, out
dReal M00);
428 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyCreate"), SuppressUnmanagedCodeSecurity]
429 public static extern IntPtr BodyiCreate(IntPtr world);
430 public static IntPtr BodyCreate(IntPtr world)
433 return BodyiCreate(world);
436 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyDestroy"), SuppressUnmanagedCodeSecurity]
437 public static extern void BodyiDestroy(IntPtr body);
438 public static void BodyDestroy(IntPtr body)
444 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyDisable"), SuppressUnmanagedCodeSecurity]
445 public static extern void BodyDisable(IntPtr body);
447 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyEnable"), SuppressUnmanagedCodeSecurity]
448 public static extern void BodyEnable(IntPtr body);
450 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableAngularThreshold"), SuppressUnmanagedCodeSecurity]
451 public static extern dReal BodyGetAutoDisableAngularThreshold(IntPtr body);
453 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableFlag"), SuppressUnmanagedCodeSecurity]
454 public static extern bool BodyGetAutoDisableFlag(IntPtr body);
456 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableDefaults"), SuppressUnmanagedCodeSecurity]
457 public static extern void BodyGetAutoDisableDefaults(IntPtr body);
459 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableLinearThreshold"), SuppressUnmanagedCodeSecurity]
460 public static extern dReal BodyGetAutoDisableLinearThreshold(IntPtr body);
462 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableSteps"), SuppressUnmanagedCodeSecurity]
463 public static extern int BodyGetAutoDisableSteps(IntPtr body);
465 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAutoDisableTime"), SuppressUnmanagedCodeSecurity]
466 public static extern dReal BodyGetAutoDisableTime(IntPtr body);
468 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAngularVel"), SuppressUnmanagedCodeSecurity]
469 public extern unsafe
static Vector3* BodyGetAngularVelUnsafe(IntPtr body);
470 public static Vector3 BodyGetAngularVel(IntPtr body)
472 unsafe {
return *(BodyGetAngularVelUnsafe(body)); }
475 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetData"), SuppressUnmanagedCodeSecurity]
476 public static extern IntPtr BodyGetData(IntPtr body);
478 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetFiniteRotationMode"), SuppressUnmanagedCodeSecurity]
479 public static extern int BodyGetFiniteRotationMode(IntPtr body);
481 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetFiniteRotationAxis"), SuppressUnmanagedCodeSecurity]
482 public static extern void BodyGetFiniteRotationAxis(IntPtr body, out Vector3 result);
484 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetForce"), SuppressUnmanagedCodeSecurity]
485 public extern unsafe
static Vector3* BodyGetForceUnsafe(IntPtr body);
486 public static Vector3 BodyGetForce(IntPtr body)
488 unsafe {
return *(BodyGetForceUnsafe(body)); }
491 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetGravityMode"), SuppressUnmanagedCodeSecurity]
492 public static extern bool BodyGetGravityMode(IntPtr body);
494 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetGyroscopicMode"), SuppressUnmanagedCodeSecurity]
495 public static extern int BodyGetGyroscopicMode(IntPtr body);
497 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetJoint"), SuppressUnmanagedCodeSecurity]
498 public static extern IntPtr BodyGetJoint(IntPtr body,
int index);
500 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetLinearVel"), SuppressUnmanagedCodeSecurity]
501 public extern unsafe
static Vector3* BodyGetLinearVelUnsafe(IntPtr body);
502 public static Vector3 BodyGetLinearVel(IntPtr body)
504 unsafe {
return *(BodyGetLinearVelUnsafe(body)); }
507 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetMass"), SuppressUnmanagedCodeSecurity]
508 public static extern void BodyGetMass(IntPtr body, out Mass mass);
510 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetNumJoints"), SuppressUnmanagedCodeSecurity]
511 public static extern int BodyGetNumJoints(IntPtr body);
513 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetPointVel"), SuppressUnmanagedCodeSecurity]
514 public static extern void BodyGetPointVel(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
516 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetPosition"), SuppressUnmanagedCodeSecurity]
517 public extern unsafe
static Vector3* BodyGetPositionUnsafe(IntPtr body);
518 public static Vector3 BodyGetPosition(IntPtr body)
520 unsafe {
return *(BodyGetPositionUnsafe(body)); }
523 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetPosRelPoint"), SuppressUnmanagedCodeSecurity]
524 public static extern void BodyGetPosRelPoint(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
526 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetQuaternion"), SuppressUnmanagedCodeSecurity]
527 public extern unsafe
static Quaternion* BodyGetQuaternionUnsafe(IntPtr body);
528 public static Quaternion BodyGetQuaternion(IntPtr body)
530 unsafe {
return *(BodyGetQuaternionUnsafe(body)); }
533 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetRelPointPos"), SuppressUnmanagedCodeSecurity]
534 public static extern void BodyGetRelPointPos(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
536 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetRelPointVel"), SuppressUnmanagedCodeSecurity]
537 public static extern void BodyGetRelPointVel(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
539 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetRotation"), SuppressUnmanagedCodeSecurity]
540 public extern unsafe
static Matrix3* BodyGetRotationUnsafe(IntPtr body);
541 public static Matrix3 BodyGetRotation(IntPtr body)
543 unsafe {
return *(BodyGetRotationUnsafe(body)); }
546 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetTorque"), SuppressUnmanagedCodeSecurity]
547 public extern unsafe
static Vector3* BodyGetTorqueUnsafe(IntPtr body);
548 public static Vector3 BodyGetTorque(IntPtr body)
550 unsafe {
return *(BodyGetTorqueUnsafe(body)); }
553 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetWorld"), SuppressUnmanagedCodeSecurity]
554 public static extern IntPtr BodyGetWorld(IntPtr body);
556 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetFirstGeom"), SuppressUnmanagedCodeSecurity]
557 public static extern IntPtr BodyGetFirstGeom(IntPtr body);
559 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetNextGeom"), SuppressUnmanagedCodeSecurity]
560 public static extern IntPtr dBodyGetNextGeom(IntPtr Geom);
563 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyIsEnabled"), SuppressUnmanagedCodeSecurity]
564 public static extern bool BodyIsEnabled(IntPtr body);
566 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAngularVel"), SuppressUnmanagedCodeSecurity]
567 public static extern void BodySetAngularVel(IntPtr body,
dReal x,
dReal y,
dReal z);
569 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableAngularThreshold"), SuppressUnmanagedCodeSecurity]
570 public static extern void BodySetAutoDisableAngularThreshold(IntPtr body,
dReal angular_threshold);
572 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableDefaults"), SuppressUnmanagedCodeSecurity]
573 public static extern void BodySetAutoDisableDefaults(IntPtr body);
575 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableFlag"), SuppressUnmanagedCodeSecurity]
576 public static extern void BodySetAutoDisableFlag(IntPtr body,
bool do_auto_disable);
578 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableLinearThreshold"), SuppressUnmanagedCodeSecurity]
579 public static extern void BodySetAutoDisableLinearThreshold(IntPtr body,
dReal linear_threshold);
581 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableSteps"), SuppressUnmanagedCodeSecurity]
582 public static extern void BodySetAutoDisableSteps(IntPtr body,
int steps);
584 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAutoDisableTime"), SuppressUnmanagedCodeSecurity]
585 public static extern void BodySetAutoDisableTime(IntPtr body,
dReal time);
587 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetData"), SuppressUnmanagedCodeSecurity]
588 public static extern void BodySetData(IntPtr body, IntPtr data);
590 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetFiniteRotationMode"), SuppressUnmanagedCodeSecurity]
591 public static extern void BodySetFiniteRotationMode(IntPtr body,
int mode);
593 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetFiniteRotationAxis"), SuppressUnmanagedCodeSecurity]
594 public static extern void BodySetFiniteRotationAxis(IntPtr body,
dReal x,
dReal y,
dReal z);
596 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetLinearDamping"), SuppressUnmanagedCodeSecurity]
597 public static extern void BodySetLinearDamping(IntPtr body,
dReal scale);
599 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAngularDamping"), SuppressUnmanagedCodeSecurity]
600 public static extern void BodySetAngularDamping(IntPtr body,
dReal scale);
602 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetLinearDamping"), SuppressUnmanagedCodeSecurity]
603 public static extern dReal BodyGetLinearDamping(IntPtr body);
605 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAngularDamping"), SuppressUnmanagedCodeSecurity]
606 public static extern dReal BodyGetAngularDamping(IntPtr body);
608 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAngularDamping"), SuppressUnmanagedCodeSecurity]
609 public static extern void BodySetDamping(IntPtr body,
dReal linear_scale,
dReal angular_scale);
611 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetAngularDampingThreshold"), SuppressUnmanagedCodeSecurity]
612 public static extern void BodySetAngularDampingThreshold(IntPtr body,
dReal threshold);
614 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetLinearDampingThreshold"), SuppressUnmanagedCodeSecurity]
615 public static extern void BodySetLinearDampingThreshold(IntPtr body,
dReal threshold);
617 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetLinearDampingThreshold"), SuppressUnmanagedCodeSecurity]
618 public static extern dReal BodyGetLinearDampingThreshold(IntPtr body);
620 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyGetAngularDampingThreshold"), SuppressUnmanagedCodeSecurity]
621 public static extern dReal BodyGetAngularDampingThreshold(IntPtr body);
623 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetForce"), SuppressUnmanagedCodeSecurity]
624 public static extern void BodySetForce(IntPtr body,
dReal x,
dReal y,
dReal z);
626 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetGravityMode"), SuppressUnmanagedCodeSecurity]
627 public static extern void BodySetGravityMode(IntPtr body,
bool mode);
634 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetGyroscopicMode"), SuppressUnmanagedCodeSecurity]
635 public static extern void dBodySetGyroscopicMode(IntPtr body,
int enabled);
637 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetLinearVel"), SuppressUnmanagedCodeSecurity]
638 public static extern void BodySetLinearVel(IntPtr body,
dReal x,
dReal y,
dReal z);
640 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetMass"), SuppressUnmanagedCodeSecurity]
641 public static extern void BodySetMass(IntPtr body, ref Mass mass);
643 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetPosition"), SuppressUnmanagedCodeSecurity]
644 public static extern void BodySetPosition(IntPtr body,
dReal x,
dReal y,
dReal z);
646 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetQuaternion"), SuppressUnmanagedCodeSecurity]
647 public static extern void BodySetQuaternion(IntPtr body, ref Quaternion q);
649 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetQuaternion"), SuppressUnmanagedCodeSecurity]
650 public static extern void BodySetQuaternion(IntPtr body, ref
dReal w);
652 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetRotation"), SuppressUnmanagedCodeSecurity]
653 public static extern void BodySetRotation(IntPtr body, ref Matrix3 R);
655 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetRotation"), SuppressUnmanagedCodeSecurity]
656 public static extern void BodySetRotation(IntPtr body, ref
dReal M00);
658 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodySetTorque"), SuppressUnmanagedCodeSecurity]
659 public static extern void BodySetTorque(IntPtr body,
dReal x,
dReal y,
dReal z);
661 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyVectorFromWorld"), SuppressUnmanagedCodeSecurity]
662 public static extern void BodyVectorFromWorld(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
664 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBodyVectorToWorld"), SuppressUnmanagedCodeSecurity]
665 public static extern void BodyVectorToWorld(IntPtr body,
dReal px,
dReal py,
dReal pz, out Vector3 result);
667 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBoxBox"), SuppressUnmanagedCodeSecurity]
668 public static extern void BoxBox(ref Vector3 p1, ref Matrix3 R1,
669 ref Vector3 side1, ref Vector3 p2,
670 ref Matrix3 R2, ref Vector3 side2,
671 ref Vector3 normal, out
dReal depth, out
int return_code,
672 int maxc, out ContactGeom contact,
int skip);
674 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dBoxTouchesBox"), SuppressUnmanagedCodeSecurity]
675 public static extern void BoxTouchesBox(ref Vector3 _p1, ref Matrix3 R1,
676 ref Vector3 side1, ref Vector3 _p2,
677 ref Matrix3 R2, ref Vector3 side2);
679 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCleanupODEAllDataForThread"), SuppressUnmanagedCodeSecurity]
680 public static extern void CleanupODEAllDataForThread();
682 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dClosestLineSegmentPoints"), SuppressUnmanagedCodeSecurity]
683 public static extern void ClosestLineSegmentPoints(ref Vector3 a1, ref Vector3 a2,
684 ref Vector3 b1, ref Vector3 b2,
685 ref Vector3 cp1, ref Vector3 cp2);
687 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCloseODE"), SuppressUnmanagedCodeSecurity]
688 public static extern void CloseODE();
690 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCollide"), SuppressUnmanagedCodeSecurity]
691 public static extern int Collide(IntPtr o1, IntPtr o2,
int flags, [In, Out] ContactGeom[] contact,
int skip);
692 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCollide"), SuppressUnmanagedCodeSecurity]
693 public static extern int CollidePtr(IntPtr o1, IntPtr o2,
int flags, IntPtr contactgeomarray,
int skip);
695 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dConnectingJoint"), SuppressUnmanagedCodeSecurity]
696 public static extern IntPtr ConnectingJoint(IntPtr j1, IntPtr j2);
698 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateBox"), SuppressUnmanagedCodeSecurity]
699 public static extern IntPtr CreateiBox(IntPtr space,
dReal lx,
dReal ly,
dReal lz);
700 public static IntPtr CreateBox(IntPtr space,
dReal lx,
dReal ly,
dReal lz)
703 return CreateiBox(space, lx, ly, lz);
706 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateCapsule"), SuppressUnmanagedCodeSecurity]
707 public static extern IntPtr CreateiCapsule(IntPtr space,
dReal radius,
dReal length);
708 public static IntPtr CreateCapsule(IntPtr space,
dReal radius,
dReal length)
711 return CreateiCapsule(space, radius, length);
714 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateConvex"), SuppressUnmanagedCodeSecurity]
715 public static extern IntPtr CreateiConvex(IntPtr space,
dReal[] planes,
int planeCount,
dReal[] points,
int pointCount,
int[] polygons);
716 public static IntPtr CreateConvex(IntPtr space,
dReal[] planes,
int planeCount,
dReal[] points,
int pointCount,
int[] polygons)
719 return CreateiConvex(space, planes, planeCount, points, pointCount, polygons);
722 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateCylinder"), SuppressUnmanagedCodeSecurity]
723 public static extern IntPtr CreateiCylinder(IntPtr space,
dReal radius,
dReal length);
724 public static IntPtr CreateCylinder(IntPtr space,
dReal radius,
dReal length)
727 return CreateiCylinder(space, radius, length);
730 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateHeightfield"), SuppressUnmanagedCodeSecurity]
731 public static extern IntPtr CreateiHeightfield(IntPtr space, IntPtr data,
int bPlaceable);
732 public static IntPtr CreateHeightfield(IntPtr space, IntPtr data,
int bPlaceable)
735 return CreateiHeightfield(space, data, bPlaceable);
738 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateOSTerrain"), SuppressUnmanagedCodeSecurity]
739 public static extern IntPtr CreateiOSTerrain(IntPtr space, IntPtr data,
int bPlaceable);
740 public static IntPtr CreateOSTerrain(IntPtr space, IntPtr data,
int bPlaceable)
743 return CreateiOSTerrain(space, data, bPlaceable);
750 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateGeom"), SuppressUnmanagedCodeSecurity]
751 public static extern IntPtr CreateiGeom(
int classnum);
752 public static IntPtr CreateGeom(
int classnum)
755 return CreateiGeom(classnum);
758 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateGeomClass"), SuppressUnmanagedCodeSecurity]
759 public static extern int CreateGeomClass(ref GeomClass classptr);
761 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateGeomTransform"), SuppressUnmanagedCodeSecurity]
762 public static extern IntPtr CreateGeomTransform(IntPtr space);
764 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreatePlane"), SuppressUnmanagedCodeSecurity]
769 return CreateiPlane(space, a, b, c, d);
772 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateRay"), SuppressUnmanagedCodeSecurity]
773 public static extern IntPtr CreateiRay(IntPtr space,
dReal length);
774 public static IntPtr CreateRay(IntPtr space,
dReal length)
777 return CreateiRay(space, length);
780 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateSphere"), SuppressUnmanagedCodeSecurity]
781 public static extern IntPtr CreateiSphere(IntPtr space,
dReal radius);
782 public static IntPtr CreateSphere(IntPtr space,
dReal radius)
785 return CreateiSphere(space, radius);
788 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dCreateTriMesh"), SuppressUnmanagedCodeSecurity]
789 public static extern IntPtr CreateiTriMesh(IntPtr space, IntPtr data,
790 TriCallback callback, TriArrayCallback arrayCallback, TriRayCallback rayCallback);
791 public static IntPtr CreateTriMesh(IntPtr space, IntPtr data,
792 TriCallback callback, TriArrayCallback arrayCallback, TriRayCallback rayCallback)
795 return CreateiTriMesh(space, data, callback, arrayCallback, rayCallback);
797 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dDot"), SuppressUnmanagedCodeSecurity]
800 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dDQfromW"), SuppressUnmanagedCodeSecurity]
801 public static extern void DQfromW(
dReal[] dq, ref Vector3 w, ref Quaternion q);
803 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dFactorCholesky"), SuppressUnmanagedCodeSecurity]
804 public static extern int FactorCholesky(ref
dReal A00,
int n);
806 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dFactorLDLT"), SuppressUnmanagedCodeSecurity]
807 public static extern void FactorLDLT(ref
dReal A, out
dReal d,
int n,
int nskip);
809 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomBoxGetLengths"), SuppressUnmanagedCodeSecurity]
810 public static extern void GeomBoxGetLengths(IntPtr geom, out Vector3 len);
812 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomBoxGetLengths"), SuppressUnmanagedCodeSecurity]
813 public static extern void GeomBoxGetLengths(IntPtr geom, out
dReal x);
815 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomBoxPointDepth"), SuppressUnmanagedCodeSecurity]
818 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomBoxSetLengths"), SuppressUnmanagedCodeSecurity]
819 public static extern void GeomBoxSetLengths(IntPtr geom,
dReal x,
dReal y,
dReal z);
821 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCapsuleGetParams"), SuppressUnmanagedCodeSecurity]
822 public static extern void GeomCapsuleGetParams(IntPtr geom, out
dReal radius, out
dReal length);
824 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCapsulePointDepth"), SuppressUnmanagedCodeSecurity]
827 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCapsuleSetParams"), SuppressUnmanagedCodeSecurity]
828 public static extern void GeomCapsuleSetParams(IntPtr geom,
dReal radius,
dReal length);
830 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomClearOffset"), SuppressUnmanagedCodeSecurity]
831 public static extern void GeomClearOffset(IntPtr geom);
833 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyOffsetPosition"), SuppressUnmanagedCodeSecurity]
834 public static extern IntPtr GeomCopyOffsetPosition(IntPtr geom, ref Vector3 pos);
836 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyOffsetPosition"), SuppressUnmanagedCodeSecurity]
837 public static extern IntPtr GeomCopyOffsetPosition(IntPtr geom, ref
dReal X);
839 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetOffsetQuaternion"), SuppressUnmanagedCodeSecurity]
840 public static extern void GeomCopyOffsetQuaternion(IntPtr geom, ref Quaternion Q);
842 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetOffsetQuaternion"), SuppressUnmanagedCodeSecurity]
843 public static extern void GeomCopyOffsetQuaternion(IntPtr geom, ref
dReal X);
845 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyOffsetRotation"), SuppressUnmanagedCodeSecurity]
846 public static extern IntPtr GeomCopyOffsetRotation(IntPtr geom, ref Matrix3 R);
848 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyOffsetRotation"), SuppressUnmanagedCodeSecurity]
849 public static extern IntPtr GeomCopyOffsetRotation(IntPtr geom, ref
dReal M00);
851 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyPosition"), SuppressUnmanagedCodeSecurity]
852 public static extern void GeomCopyPosition(IntPtr geom, out Vector3 pos);
854 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyPosition"), SuppressUnmanagedCodeSecurity]
855 public static extern void GeomCopyPosition(IntPtr geom, out
dReal X);
857 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyRotation"), SuppressUnmanagedCodeSecurity]
858 public static extern void GeomCopyRotation(IntPtr geom, out Matrix3 R);
860 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCopyRotation"), SuppressUnmanagedCodeSecurity]
861 public static extern void GeomCopyRotation(IntPtr geom, out
dReal M00);
863 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCylinderGetParams"), SuppressUnmanagedCodeSecurity]
864 public static extern void GeomCylinderGetParams(IntPtr geom, out
dReal radius, out
dReal length);
866 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomCylinderSetParams"), SuppressUnmanagedCodeSecurity]
867 public static extern void GeomCylinderSetParams(IntPtr geom,
dReal radius,
dReal length);
869 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomDestroy"), SuppressUnmanagedCodeSecurity]
870 public static extern void GeomiDestroy(IntPtr geom);
871 public static void GeomDestroy(IntPtr geom)
878 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomDisable"), SuppressUnmanagedCodeSecurity]
879 public static extern void GeomDisable(IntPtr geom);
881 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomEnable"), SuppressUnmanagedCodeSecurity]
882 public static extern void GeomEnable(IntPtr geom);
884 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetAABB"), SuppressUnmanagedCodeSecurity]
885 public static extern void GeomGetAABB(IntPtr geom, out AABB aabb);
887 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetAABB"), SuppressUnmanagedCodeSecurity]
888 public static extern void GeomGetAABB(IntPtr geom, out
dReal minX);
890 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetBody"), SuppressUnmanagedCodeSecurity]
891 public static extern IntPtr GeomGetBody(IntPtr geom);
893 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetCategoryBits"), SuppressUnmanagedCodeSecurity]
894 public static extern uint GeomGetCategoryBits(IntPtr geom);
896 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetClassData"), SuppressUnmanagedCodeSecurity]
897 public static extern IntPtr GeomGetClassData(IntPtr geom);
899 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetCollideBits"), SuppressUnmanagedCodeSecurity]
900 public static extern uint GeomGetCollideBits(IntPtr geom);
902 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetClass"), SuppressUnmanagedCodeSecurity]
903 public static extern GeomClassID GeomGetClass(IntPtr geom);
905 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetData"), SuppressUnmanagedCodeSecurity]
906 public static extern IntPtr GeomGetData(IntPtr geom);
908 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetOffsetPosition"), SuppressUnmanagedCodeSecurity]
909 public extern unsafe
static Vector3* GeomGetOffsetPositionUnsafe(IntPtr geom);
910 public static Vector3 GeomGetOffsetPosition(IntPtr geom)
912 unsafe {
return *(GeomGetOffsetPositionUnsafe(geom)); }
915 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetOffsetRotation"), SuppressUnmanagedCodeSecurity]
916 public extern unsafe
static Matrix3* GeomGetOffsetRotationUnsafe(IntPtr geom);
917 public static Matrix3 GeomGetOffsetRotation(IntPtr geom)
919 unsafe {
return *(GeomGetOffsetRotationUnsafe(geom)); }
922 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetPosition"), SuppressUnmanagedCodeSecurity]
923 public extern unsafe
static Vector3* GeomGetPositionUnsafe(IntPtr geom);
924 public static Vector3 GeomGetPosition(IntPtr geom)
926 unsafe {
return *(GeomGetPositionUnsafe(geom)); }
928 public static OMV.Vector3 GeomGetPositionOMV(IntPtr geom)
930 Vector3 vtmp = GeomGetPosition(geom);
931 return new OMV.Vector3(vtmp.X, vtmp.Y, vtmp.Z);
934 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetQuaternion"), SuppressUnmanagedCodeSecurity]
935 public static extern void GeomCopyQuaternion(IntPtr geom, out Quaternion q);
936 public static OMV.Quaternion GeomGetQuaternionOMV(IntPtr geom)
939 GeomCopyQuaternion(geom, out qtmp);
940 return new OMV.Quaternion(qtmp.X, qtmp.Y, qtmp.Z, qtmp.W);
943 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetQuaternion"), SuppressUnmanagedCodeSecurity]
944 public static extern void GeomCopyQuaternion(IntPtr geom, out
dReal X);
946 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetRotation"), SuppressUnmanagedCodeSecurity]
947 public extern unsafe
static Matrix3* GeomGetRotationUnsafe(IntPtr geom);
948 public static Matrix3 GeomGetRotation(IntPtr geom)
950 unsafe {
return *(GeomGetRotationUnsafe(geom)); }
953 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomGetSpace"), SuppressUnmanagedCodeSecurity]
954 public static extern IntPtr GeomGetSpace(IntPtr geom);
956 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildByte"), SuppressUnmanagedCodeSecurity]
957 public static extern void GeomHeightfieldDataBuildByte(IntPtr d, byte[] pHeightData,
int bCopyHeightData,
958 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
961 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildByte"), SuppressUnmanagedCodeSecurity]
962 public static extern void GeomHeightfieldDataBuildByte(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
963 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
966 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildCallback"), SuppressUnmanagedCodeSecurity]
967 public static extern void GeomHeightfieldDataBuildCallback(IntPtr d, IntPtr pUserData, HeightfieldGetHeight pCallback,
968 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
971 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildShort"), SuppressUnmanagedCodeSecurity]
972 public static extern void GeomHeightfieldDataBuildShort(IntPtr d, ushort[] pHeightData,
int bCopyHeightData,
973 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
976 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildShort"), SuppressUnmanagedCodeSecurity]
977 public static extern void GeomHeightfieldDataBuildShort(IntPtr d,
short[] pHeightData,
int bCopyHeightData,
978 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
981 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildShort"), SuppressUnmanagedCodeSecurity]
982 public static extern void GeomHeightfieldDataBuildShort(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
983 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
986 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildSingle"), SuppressUnmanagedCodeSecurity]
987 public static extern void GeomHeightfieldDataBuildSingle(IntPtr d,
float[] pHeightData,
int bCopyHeightData,
988 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
991 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildSingle"), SuppressUnmanagedCodeSecurity]
992 public static extern void GeomHeightfieldDataBuildSingle(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
993 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
998 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildDouble"), SuppressUnmanagedCodeSecurity]
999 public static extern void GeomHeightfieldDataBuildDouble(IntPtr d,
double[] pHeightData,
int bCopyHeightData,
1000 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
1003 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataBuildDouble"), SuppressUnmanagedCodeSecurity]
1004 public static extern void GeomHeightfieldDataBuildDouble(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
1005 dReal width,
dReal depth,
int widthSamples,
int depthSamples,
1008 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataCreate"), SuppressUnmanagedCodeSecurity]
1009 public static extern IntPtr GeomHeightfieldDataCreate();
1011 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataDestroy"), SuppressUnmanagedCodeSecurity]
1012 public static extern void GeomHeightfieldDataDestroy(IntPtr d);
1014 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldDataSetBounds"), SuppressUnmanagedCodeSecurity]
1015 public static extern void GeomHeightfieldDataSetBounds(IntPtr d,
dReal minHeight,
dReal maxHeight);
1017 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldGetHeightfieldData"), SuppressUnmanagedCodeSecurity]
1018 public static extern IntPtr GeomHeightfieldGetHeightfieldData(IntPtr g);
1020 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomHeightfieldSetHeightfieldData"), SuppressUnmanagedCodeSecurity]
1021 public static extern void GeomHeightfieldSetHeightfieldData(IntPtr g, IntPtr d);
1024 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomUbitTerrainDataBuild"), SuppressUnmanagedCodeSecurity]
1025 public static extern void GeomOSTerrainDataBuild(IntPtr d,
float[] pHeightData,
int bCopyHeightData,
1026 dReal sampleSize,
int widthSamples,
int depthSamples,
1029 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainDataBuild"), SuppressUnmanagedCodeSecurity]
1030 public static extern void GeomOSTerrainDataBuild(IntPtr d, IntPtr pHeightData,
int bCopyHeightData,
1031 dReal sampleSize,
int widthSamples,
int depthSamples,
1032 dReal thickness,
int bWrap);
1034 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainDataCreate"), SuppressUnmanagedCodeSecurity]
1035 public static extern IntPtr GeomOSTerrainDataCreate();
1037 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainDataDestroy"), SuppressUnmanagedCodeSecurity]
1038 public static extern void GeomOSTerrainDataDestroy(IntPtr d);
1040 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainDataSetBounds"), SuppressUnmanagedCodeSecurity]
1041 public static extern void GeomOSTerrainDataSetBounds(IntPtr d,
dReal minHeight,
dReal maxHeight);
1043 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainGetHeightfieldData"), SuppressUnmanagedCodeSecurity]
1044 public static extern IntPtr GeomOSTerrainGetHeightfieldData(IntPtr g);
1046 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomOSTerrainSetHeightfieldData"), SuppressUnmanagedCodeSecurity]
1047 public static extern void GeomOSTerrainSetHeightfieldData(IntPtr g, IntPtr d);
1050 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomIsEnabled"), SuppressUnmanagedCodeSecurity]
1051 public static extern bool GeomIsEnabled(IntPtr geom);
1053 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomIsOffset"), SuppressUnmanagedCodeSecurity]
1054 public static extern bool GeomIsOffset(IntPtr geom);
1056 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomIsSpace"), SuppressUnmanagedCodeSecurity]
1057 public static extern bool GeomIsSpace(IntPtr geom);
1059 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomPlaneGetParams"), SuppressUnmanagedCodeSecurity]
1060 public static extern void GeomPlaneGetParams(IntPtr geom, ref Vector4 result);
1062 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomPlaneGetParams"), SuppressUnmanagedCodeSecurity]
1063 public static extern void GeomPlaneGetParams(IntPtr geom, ref
dReal A);
1065 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomPlanePointDepth"), SuppressUnmanagedCodeSecurity]
1068 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomPlaneSetParams"), SuppressUnmanagedCodeSecurity]
1069 public static extern void GeomPlaneSetParams(IntPtr plane,
dReal a,
dReal b,
dReal c,
dReal d);
1071 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGet"), SuppressUnmanagedCodeSecurity]
1072 public static extern void GeomRayGet(IntPtr ray, ref Vector3 start, ref Vector3 dir);
1074 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGet"), SuppressUnmanagedCodeSecurity]
1075 public static extern void GeomRayGet(IntPtr ray, ref
dReal startX, ref
dReal dirX);
1077 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGetClosestHit"), SuppressUnmanagedCodeSecurity]
1078 public static extern int GeomRayGetClosestHit(IntPtr ray);
1080 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGetLength"), SuppressUnmanagedCodeSecurity]
1081 public static extern dReal GeomRayGetLength(IntPtr ray);
1083 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRayGetParams"), SuppressUnmanagedCodeSecurity]
1084 public static extern dReal GeomRayGetParams(IntPtr g, out
int firstContact, out
int backfaceCull);
1086 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRaySet"), SuppressUnmanagedCodeSecurity]
1089 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRaySetClosestHit"), SuppressUnmanagedCodeSecurity]
1090 public static extern void GeomRaySetClosestHit(IntPtr ray,
int closestHit);
1092 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRaySetLength"), SuppressUnmanagedCodeSecurity]
1093 public static extern void GeomRaySetLength(IntPtr ray,
dReal length);
1095 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomRaySetParams"), SuppressUnmanagedCodeSecurity]
1096 public static extern void GeomRaySetParams(IntPtr ray,
int firstContact,
int backfaceCull);
1098 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetBody"), SuppressUnmanagedCodeSecurity]
1099 public static extern void GeomSetBody(IntPtr geom, IntPtr body);
1101 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetCategoryBits"), SuppressUnmanagedCodeSecurity]
1102 public static extern void GeomSetCategoryBits(IntPtr geom, uint bits);
1104 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetCollideBits"), SuppressUnmanagedCodeSecurity]
1105 public static extern void GeomSetCollideBits(IntPtr geom, uint bits);
1107 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetConvex"), SuppressUnmanagedCodeSecurity]
1108 public static extern IntPtr GeomSetConvex(IntPtr geom,
dReal[] planes,
int planeCount,
dReal[] points,
int pointCount,
int[] polygons);
1110 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetData"), SuppressUnmanagedCodeSecurity]
1111 public static extern void GeomSetData(IntPtr geom, IntPtr data);
1113 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetPosition"), SuppressUnmanagedCodeSecurity]
1114 public static extern void GeomSetOffsetPosition(IntPtr geom,
dReal x,
dReal y,
dReal z);
1116 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetQuaternion"), SuppressUnmanagedCodeSecurity]
1117 public static extern void GeomSetOffsetQuaternion(IntPtr geom, ref Quaternion Q);
1119 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetQuaternion"), SuppressUnmanagedCodeSecurity]
1120 public static extern void GeomSetOffsetQuaternion(IntPtr geom, ref
dReal X);
1122 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetRotation"), SuppressUnmanagedCodeSecurity]
1123 public static extern void GeomSetOffsetRotation(IntPtr geom, ref Matrix3 R);
1125 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetRotation"), SuppressUnmanagedCodeSecurity]
1126 public static extern void GeomSetOffsetRotation(IntPtr geom, ref
dReal M00);
1128 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldPosition"), SuppressUnmanagedCodeSecurity]
1129 public static extern void GeomSetOffsetWorldPosition(IntPtr geom,
dReal x,
dReal y,
dReal z);
1131 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldQuaternion"), SuppressUnmanagedCodeSecurity]
1132 public static extern void GeomSetOffsetWorldQuaternion(IntPtr geom, ref Quaternion Q);
1134 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldQuaternion"), SuppressUnmanagedCodeSecurity]
1135 public static extern void GeomSetOffsetWorldQuaternion(IntPtr geom, ref
dReal X);
1137 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldRotation"), SuppressUnmanagedCodeSecurity]
1138 public static extern void GeomSetOffsetWorldRotation(IntPtr geom, ref Matrix3 R);
1140 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetOffsetWorldRotation"), SuppressUnmanagedCodeSecurity]
1141 public static extern void GeomSetOffsetWorldRotation(IntPtr geom, ref
dReal M00);
1143 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetPosition"), SuppressUnmanagedCodeSecurity]
1144 public static extern void GeomSetPosition(IntPtr geom,
dReal x,
dReal y,
dReal z);
1146 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetQuaternion"), SuppressUnmanagedCodeSecurity]
1147 public static extern void GeomSetQuaternion(IntPtr geom, ref Quaternion quat);
1149 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetQuaternion"), SuppressUnmanagedCodeSecurity]
1150 public static extern void GeomSetQuaternion(IntPtr geom, ref
dReal w);
1152 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetRotation"), SuppressUnmanagedCodeSecurity]
1153 public static extern void GeomSetRotation(IntPtr geom, ref Matrix3 R);
1155 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSetRotation"), SuppressUnmanagedCodeSecurity]
1156 public static extern void GeomSetRotation(IntPtr geom, ref
dReal M00);
1158 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSphereGetRadius"), SuppressUnmanagedCodeSecurity]
1159 public static extern dReal GeomSphereGetRadius(IntPtr geom);
1161 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSpherePointDepth"), SuppressUnmanagedCodeSecurity]
1164 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomSphereSetRadius"), SuppressUnmanagedCodeSecurity]
1165 public static extern void GeomSphereSetRadius(IntPtr geom,
dReal radius);
1167 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformGetCleanup"), SuppressUnmanagedCodeSecurity]
1168 public static extern int GeomTransformGetCleanup(IntPtr geom);
1170 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformGetGeom"), SuppressUnmanagedCodeSecurity]
1171 public static extern IntPtr GeomTransformGetGeom(IntPtr geom);
1173 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformGetInfo"), SuppressUnmanagedCodeSecurity]
1174 public static extern int GeomTransformGetInfo(IntPtr geom);
1176 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformSetCleanup"), SuppressUnmanagedCodeSecurity]
1177 public static extern void GeomTransformSetCleanup(IntPtr geom,
int mode);
1179 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformSetGeom"), SuppressUnmanagedCodeSecurity]
1180 public static extern void GeomTransformSetGeom(IntPtr geom, IntPtr obj);
1182 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTransformSetInfo"), SuppressUnmanagedCodeSecurity]
1183 public static extern void GeomTransformSetInfo(IntPtr geom,
int info);
1185 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildDouble"), SuppressUnmanagedCodeSecurity]
1186 public static extern void GeomTriMeshDataBuildDouble(IntPtr d,
1187 double[] vertices,
int vertexStride,
int vertexCount,
1188 int[] indices,
int indexCount,
int triStride);
1190 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildDouble"), SuppressUnmanagedCodeSecurity]
1191 public static extern void GeomTriMeshDataBuildDouble(IntPtr d,
1192 IntPtr vertices,
int vertexStride,
int vertexCount,
1193 IntPtr indices,
int indexCount,
int triStride);
1195 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildDouble1"), SuppressUnmanagedCodeSecurity]
1196 public static extern void GeomTriMeshDataBuildDouble1(IntPtr d,
1197 double[] vertices,
int vertexStride,
int vertexCount,
1198 int[] indices,
int indexCount,
int triStride,
1201 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildDouble1"), SuppressUnmanagedCodeSecurity]
1202 public static extern void GeomTriMeshDataBuildDouble(IntPtr d,
1203 IntPtr vertices,
int vertexStride,
int vertexCount,
1204 IntPtr indices,
int indexCount,
int triStride,
1207 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSimple"), SuppressUnmanagedCodeSecurity]
1208 public static extern void GeomTriMeshDataBuildSingle(IntPtr d,
1209 dReal[] vertices,
int vertexStride,
int vertexCount,
1210 int[] indices,
int indexCount,
int triStride);
1212 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSimple"), SuppressUnmanagedCodeSecurity]
1213 public static extern void GeomTriMeshDataBuildSingle(IntPtr d,
1214 IntPtr vertices,
int vertexStride,
int vertexCount,
1215 IntPtr indices,
int indexCount,
int triStride);
1217 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSimple1"), SuppressUnmanagedCodeSecurity]
1218 public static extern void GeomTriMeshDataBuildSingle1(IntPtr d,
1219 dReal[] vertices,
int vertexStride,
int vertexCount,
1220 int[] indices,
int indexCount,
int triStride,
1223 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSimple1"), SuppressUnmanagedCodeSecurity]
1224 public static extern void GeomTriMeshDataBuildSingle1(IntPtr d,
1225 IntPtr vertices,
int vertexStride,
int vertexCount,
1226 IntPtr indices,
int indexCount,
int triStride,
1229 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSingle"), SuppressUnmanagedCodeSecurity]
1230 public static extern void GeomTriMeshDataBuildSimple(IntPtr d,
1231 float[] vertices,
int vertexStride,
int vertexCount,
1232 int[] indices,
int indexCount,
int triStride);
1234 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSingle"), SuppressUnmanagedCodeSecurity]
1235 public static extern void GeomTriMeshDataBuildSimple(IntPtr d,
1236 IntPtr vertices,
int vertexStride,
int vertexCount,
1237 IntPtr indices,
int indexCount,
int triStride);
1239 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSingle1"), SuppressUnmanagedCodeSecurity]
1240 public static extern void GeomTriMeshDataBuildSimple1(IntPtr d,
1241 float[] vertices,
int vertexStride,
int vertexCount,
1242 int[] indices,
int indexCount,
int triStride,
1245 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataBuildSingle1"), SuppressUnmanagedCodeSecurity]
1246 public static extern void GeomTriMeshDataBuildSimple1(IntPtr d,
1247 IntPtr vertices,
int vertexStride,
int vertexCount,
1248 IntPtr indices,
int indexCount,
int triStride,
1251 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshClearTCCache"), SuppressUnmanagedCodeSecurity]
1252 public static extern void GeomTriMeshClearTCCache(IntPtr g);
1254 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataCreate"), SuppressUnmanagedCodeSecurity]
1255 public static extern IntPtr GeomTriMeshDataCreate();
1257 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataDestroy"), SuppressUnmanagedCodeSecurity]
1258 public static extern void GeomTriMeshDataDestroy(IntPtr d);
1260 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataGet"), SuppressUnmanagedCodeSecurity]
1261 public static extern IntPtr GeomTriMeshDataGet(IntPtr d,
int data_id);
1263 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataPreprocess"), SuppressUnmanagedCodeSecurity]
1264 public static extern void GeomTriMeshDataPreprocess(IntPtr d);
1266 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataSet"), SuppressUnmanagedCodeSecurity]
1267 public static extern void GeomTriMeshDataSet(IntPtr d,
int data_id, IntPtr in_data);
1269 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshDataUpdate"), SuppressUnmanagedCodeSecurity]
1270 public static extern void GeomTriMeshDataUpdate(IntPtr d);
1272 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshEnableTC"), SuppressUnmanagedCodeSecurity]
1273 public static extern void GeomTriMeshEnableTC(IntPtr g,
int geomClass,
bool enable);
1275 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetArrayCallback"), SuppressUnmanagedCodeSecurity]
1276 public static extern TriArrayCallback GeomTriMeshGetArrayCallback(IntPtr g);
1278 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetCallback"), SuppressUnmanagedCodeSecurity]
1279 public static extern TriCallback GeomTriMeshGetCallback(IntPtr g);
1281 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetData"), SuppressUnmanagedCodeSecurity]
1282 public static extern IntPtr GeomTriMeshGetData(IntPtr g);
1284 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetLastTransform"), SuppressUnmanagedCodeSecurity]
1285 public extern unsafe
static Matrix4* GeomTriMeshGetLastTransformUnsafe(IntPtr geom);
1286 public static Matrix4 GeomTriMeshGetLastTransform(IntPtr geom)
1288 unsafe {
return *(GeomTriMeshGetLastTransformUnsafe(geom)); }
1291 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetPoint"), SuppressUnmanagedCodeSecurity]
1292 public extern static void GeomTriMeshGetPoint(IntPtr g,
int index,
dReal u,
dReal v, ref Vector3 outVec);
1294 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetRayCallback"), SuppressUnmanagedCodeSecurity]
1295 public static extern TriRayCallback GeomTriMeshGetRayCallback(IntPtr g);
1297 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetTriangle"), SuppressUnmanagedCodeSecurity]
1298 public extern static void GeomTriMeshGetTriangle(IntPtr g,
int index, ref Vector3 v0, ref Vector3 v1, ref Vector3 v2);
1300 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetTriangleCount"), SuppressUnmanagedCodeSecurity]
1301 public extern static int GeomTriMeshGetTriangleCount(IntPtr g);
1303 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshGetTriMeshDataID"), SuppressUnmanagedCodeSecurity]
1304 public static extern IntPtr GeomTriMeshGetTriMeshDataID(IntPtr g);
1306 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshIsTCEnabled"), SuppressUnmanagedCodeSecurity]
1307 public static extern bool GeomTriMeshIsTCEnabled(IntPtr g,
int geomClass);
1309 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetArrayCallback"), SuppressUnmanagedCodeSecurity]
1310 public static extern void GeomTriMeshSetArrayCallback(IntPtr g, TriArrayCallback arrayCallback);
1312 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetCallback"), SuppressUnmanagedCodeSecurity]
1313 public static extern void GeomTriMeshSetCallback(IntPtr g, TriCallback callback);
1315 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetData"), SuppressUnmanagedCodeSecurity]
1316 public static extern void GeomTriMeshSetData(IntPtr g, IntPtr data);
1318 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetLastTransform"), SuppressUnmanagedCodeSecurity]
1319 public static extern void GeomTriMeshSetLastTransform(IntPtr g, ref Matrix4 last_trans);
1321 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetLastTransform"), SuppressUnmanagedCodeSecurity]
1322 public static extern void GeomTriMeshSetLastTransform(IntPtr g, ref
dReal M00);
1324 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGeomTriMeshSetRayCallback"), SuppressUnmanagedCodeSecurity]
1325 public static extern void GeomTriMeshSetRayCallback(IntPtr g, TriRayCallback callback);
1327 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dGetConfiguration"), SuppressUnmanagedCodeSecurity]
1328 public static extern IntPtr iGetConfiguration();
1330 public static string GetConfiguration()
1332 IntPtr ptr = iGetConfiguration();
1333 string s = Marshal.PtrToStringAnsi(ptr);
1337 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dHashSpaceCreate"), SuppressUnmanagedCodeSecurity]
1338 public static extern IntPtr HashSpaceCreate(IntPtr space);
1340 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dHashSpaceGetLevels"), SuppressUnmanagedCodeSecurity]
1341 public static extern void HashSpaceGetLevels(IntPtr space, out
int minlevel, out
int maxlevel);
1343 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dHashSpaceSetLevels"), SuppressUnmanagedCodeSecurity]
1344 public static extern void HashSpaceSetLevels(IntPtr space,
int minlevel,
int maxlevel);
1346 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dInfiniteAABB"), SuppressUnmanagedCodeSecurity]
1347 public static extern void InfiniteAABB(IntPtr geom, out AABB aabb);
1349 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dInitODE"), SuppressUnmanagedCodeSecurity]
1350 public static extern void InitODE();
1352 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dInitODE2"), SuppressUnmanagedCodeSecurity]
1353 public static extern int InitODE2(uint ODEInitFlags);
1355 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dIsPositiveDefinite"), SuppressUnmanagedCodeSecurity]
1356 public static extern int IsPositiveDefinite(ref
dReal A,
int n);
1358 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dInvertPDMatrix"), SuppressUnmanagedCodeSecurity]
1359 public static extern int InvertPDMatrix(ref
dReal A, out
dReal Ainv,
int n);
1361 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddAMotorTorques"), SuppressUnmanagedCodeSecurity]
1362 public static extern void JointAddAMotorTorques(IntPtr joint,
dReal torque1,
dReal torque2,
dReal torque3);
1364 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddHingeTorque"), SuppressUnmanagedCodeSecurity]
1365 public static extern void JointAddHingeTorque(IntPtr joint,
dReal torque);
1367 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddHinge2Torque"), SuppressUnmanagedCodeSecurity]
1368 public static extern void JointAddHinge2Torques(IntPtr joint,
dReal torque1,
dReal torque2);
1370 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddPRTorque"), SuppressUnmanagedCodeSecurity]
1371 public static extern void JointAddPRTorque(IntPtr joint,
dReal torque);
1373 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddUniversalTorque"), SuppressUnmanagedCodeSecurity]
1374 public static extern void JointAddUniversalTorques(IntPtr joint,
dReal torque1,
dReal torque2);
1376 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAddSliderForce"), SuppressUnmanagedCodeSecurity]
1377 public static extern void JointAddSliderForce(IntPtr joint,
dReal force);
1379 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointAttach"), SuppressUnmanagedCodeSecurity]
1380 public static extern void JointAttach(IntPtr joint, IntPtr body1, IntPtr body2);
1382 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateAMotor"), SuppressUnmanagedCodeSecurity]
1383 public static extern IntPtr JointCreateAMotor(IntPtr world, IntPtr group);
1385 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateBall"), SuppressUnmanagedCodeSecurity]
1386 public static extern IntPtr JointCreateBall(IntPtr world, IntPtr group);
1388 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateContact"), SuppressUnmanagedCodeSecurity]
1389 public static extern IntPtr JointCreateContact(IntPtr world, IntPtr group, ref Contact contact);
1390 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateContact"), SuppressUnmanagedCodeSecurity]
1391 public static extern IntPtr JointCreateContactPtr(IntPtr world, IntPtr group, IntPtr contact);
1393 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateFixed"), SuppressUnmanagedCodeSecurity]
1394 public static extern IntPtr JointCreateFixed(IntPtr world, IntPtr group);
1396 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateHinge"), SuppressUnmanagedCodeSecurity]
1397 public static extern IntPtr JointCreateHinge(IntPtr world, IntPtr group);
1399 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateHinge2"), SuppressUnmanagedCodeSecurity]
1400 public static extern IntPtr JointCreateHinge2(IntPtr world, IntPtr group);
1402 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateLMotor"), SuppressUnmanagedCodeSecurity]
1403 public static extern IntPtr JointCreateLMotor(IntPtr world, IntPtr group);
1405 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateNull"), SuppressUnmanagedCodeSecurity]
1406 public static extern IntPtr JointCreateNull(IntPtr world, IntPtr group);
1408 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreatePR"), SuppressUnmanagedCodeSecurity]
1409 public static extern IntPtr JointCreatePR(IntPtr world, IntPtr group);
1411 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreatePlane2D"), SuppressUnmanagedCodeSecurity]
1412 public static extern IntPtr JointCreatePlane2D(IntPtr world, IntPtr group);
1414 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateSlider"), SuppressUnmanagedCodeSecurity]
1415 public static extern IntPtr JointCreateSlider(IntPtr world, IntPtr group);
1417 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointCreateUniversal"), SuppressUnmanagedCodeSecurity]
1418 public static extern IntPtr JointCreateUniversal(IntPtr world, IntPtr group);
1420 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointDestroy"), SuppressUnmanagedCodeSecurity]
1421 public static extern void JointDestroy(IntPtr j);
1423 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorAngle"), SuppressUnmanagedCodeSecurity]
1424 public static extern dReal JointGetAMotorAngle(IntPtr j,
int anum);
1426 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorAngleRate"), SuppressUnmanagedCodeSecurity]
1427 public static extern dReal JointGetAMotorAngleRate(IntPtr j,
int anum);
1429 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorAxis"), SuppressUnmanagedCodeSecurity]
1430 public static extern void JointGetAMotorAxis(IntPtr j,
int anum, out Vector3 result);
1432 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorAxisRel"), SuppressUnmanagedCodeSecurity]
1433 public static extern int JointGetAMotorAxisRel(IntPtr j,
int anum);
1435 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorMode"), SuppressUnmanagedCodeSecurity]
1436 public static extern int JointGetAMotorMode(IntPtr j);
1438 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorNumAxes"), SuppressUnmanagedCodeSecurity]
1439 public static extern int JointGetAMotorNumAxes(IntPtr j);
1441 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetAMotorParam"), SuppressUnmanagedCodeSecurity]
1442 public static extern dReal JointGetAMotorParam(IntPtr j,
int parameter);
1444 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetBallAnchor"), SuppressUnmanagedCodeSecurity]
1445 public static extern void JointGetBallAnchor(IntPtr j, out Vector3 result);
1447 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetBallAnchor2"), SuppressUnmanagedCodeSecurity]
1448 public static extern void JointGetBallAnchor2(IntPtr j, out Vector3 result);
1450 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetBody"), SuppressUnmanagedCodeSecurity]
1451 public static extern IntPtr JointGetBody(IntPtr j);
1453 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetData"), SuppressUnmanagedCodeSecurity]
1454 public static extern IntPtr JointGetData(IntPtr j);
1456 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetFeedback"), SuppressUnmanagedCodeSecurity]
1457 public extern unsafe
static JointFeedback* JointGetFeedbackUnsafe(IntPtr j);
1458 public static JointFeedback JointGetFeedback(IntPtr j)
1460 unsafe {
return *(JointGetFeedbackUnsafe(j)); }
1463 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAnchor"), SuppressUnmanagedCodeSecurity]
1464 public static extern void JointGetHingeAnchor(IntPtr j, out Vector3 result);
1466 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAngle"), SuppressUnmanagedCodeSecurity]
1467 public static extern dReal JointGetHingeAngle(IntPtr j);
1469 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAngleRate"), SuppressUnmanagedCodeSecurity]
1470 public static extern dReal JointGetHingeAngleRate(IntPtr j);
1472 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAxis"), SuppressUnmanagedCodeSecurity]
1473 public static extern void JointGetHingeAxis(IntPtr j, out Vector3 result);
1475 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeParam"), SuppressUnmanagedCodeSecurity]
1476 public static extern dReal JointGetHingeParam(IntPtr j,
int parameter);
1478 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Angle1"), SuppressUnmanagedCodeSecurity]
1479 public static extern dReal JointGetHinge2Angle1(IntPtr j);
1481 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Angle1Rate"), SuppressUnmanagedCodeSecurity]
1482 public static extern dReal JointGetHinge2Angle1Rate(IntPtr j);
1484 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Angle2Rate"), SuppressUnmanagedCodeSecurity]
1485 public static extern dReal JointGetHinge2Angle2Rate(IntPtr j);
1487 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHingeAnchor2"), SuppressUnmanagedCodeSecurity]
1488 public static extern void JointGetHingeAnchor2(IntPtr j, out Vector3 result);
1490 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Anchor"), SuppressUnmanagedCodeSecurity]
1491 public static extern void JointGetHinge2Anchor(IntPtr j, out Vector3 result);
1493 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Anchor2"), SuppressUnmanagedCodeSecurity]
1494 public static extern void JointGetHinge2Anchor2(IntPtr j, out Vector3 result);
1496 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Axis1"), SuppressUnmanagedCodeSecurity]
1497 public static extern void JointGetHinge2Axis1(IntPtr j, out Vector3 result);
1499 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Axis2"), SuppressUnmanagedCodeSecurity]
1500 public static extern void JointGetHinge2Axis2(IntPtr j, out Vector3 result);
1502 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetHinge2Param"), SuppressUnmanagedCodeSecurity]
1503 public static extern dReal JointGetHinge2Param(IntPtr j,
int parameter);
1505 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetLMotorAxis"), SuppressUnmanagedCodeSecurity]
1506 public static extern void JointGetLMotorAxis(IntPtr j,
int anum, out Vector3 result);
1508 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetLMotorNumAxes"), SuppressUnmanagedCodeSecurity]
1509 public static extern int JointGetLMotorNumAxes(IntPtr j);
1511 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetLMotorParam"), SuppressUnmanagedCodeSecurity]
1512 public static extern dReal JointGetLMotorParam(IntPtr j,
int parameter);
1514 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRAnchor"), SuppressUnmanagedCodeSecurity]
1515 public static extern void JointGetPRAnchor(IntPtr j, out Vector3 result);
1517 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRAxis1"), SuppressUnmanagedCodeSecurity]
1518 public static extern void JointGetPRAxis1(IntPtr j, out Vector3 result);
1520 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRAxis2"), SuppressUnmanagedCodeSecurity]
1521 public static extern void JointGetPRAxis2(IntPtr j, out Vector3 result);
1523 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRParam"), SuppressUnmanagedCodeSecurity]
1524 public static extern dReal JointGetPRParam(IntPtr j,
int parameter);
1526 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRPosition"), SuppressUnmanagedCodeSecurity]
1527 public static extern dReal JointGetPRPosition(IntPtr j);
1529 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetPRPositionRate"), SuppressUnmanagedCodeSecurity]
1530 public static extern dReal JointGetPRPositionRate(IntPtr j);
1532 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetSliderAxis"), SuppressUnmanagedCodeSecurity]
1533 public static extern void JointGetSliderAxis(IntPtr j, out Vector3 result);
1535 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetSliderParam"), SuppressUnmanagedCodeSecurity]
1536 public static extern dReal JointGetSliderParam(IntPtr j,
int parameter);
1538 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetSliderPosition"), SuppressUnmanagedCodeSecurity]
1539 public static extern dReal JointGetSliderPosition(IntPtr j);
1541 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetSliderPositionRate"), SuppressUnmanagedCodeSecurity]
1542 public static extern dReal JointGetSliderPositionRate(IntPtr j);
1544 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetType"), SuppressUnmanagedCodeSecurity]
1545 public static extern JointType JointGetType(IntPtr j);
1547 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAnchor"), SuppressUnmanagedCodeSecurity]
1548 public static extern void JointGetUniversalAnchor(IntPtr j, out Vector3 result);
1550 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAnchor2"), SuppressUnmanagedCodeSecurity]
1551 public static extern void JointGetUniversalAnchor2(IntPtr j, out Vector3 result);
1553 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngle1"), SuppressUnmanagedCodeSecurity]
1554 public static extern dReal JointGetUniversalAngle1(IntPtr j);
1556 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngle1Rate"), SuppressUnmanagedCodeSecurity]
1557 public static extern dReal JointGetUniversalAngle1Rate(IntPtr j);
1559 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngle2"), SuppressUnmanagedCodeSecurity]
1560 public static extern dReal JointGetUniversalAngle2(IntPtr j);
1562 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngle2Rate"), SuppressUnmanagedCodeSecurity]
1563 public static extern dReal JointGetUniversalAngle2Rate(IntPtr j);
1565 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAngles"), SuppressUnmanagedCodeSecurity]
1566 public static extern void JointGetUniversalAngles(IntPtr j, out
dReal angle1, out
dReal angle2);
1568 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAxis1"), SuppressUnmanagedCodeSecurity]
1569 public static extern void JointGetUniversalAxis1(IntPtr j, out Vector3 result);
1571 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalAxis2"), SuppressUnmanagedCodeSecurity]
1572 public static extern void JointGetUniversalAxis2(IntPtr j, out Vector3 result);
1574 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGetUniversalParam"), SuppressUnmanagedCodeSecurity]
1575 public static extern dReal JointGetUniversalParam(IntPtr j,
int parameter);
1577 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGroupCreate"), SuppressUnmanagedCodeSecurity]
1578 public static extern IntPtr JointGroupCreate(
int max_size);
1580 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGroupDestroy"), SuppressUnmanagedCodeSecurity]
1581 public static extern void JointGroupDestroy(IntPtr group);
1583 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointGroupEmpty"), SuppressUnmanagedCodeSecurity]
1584 public static extern void JointGroupEmpty(IntPtr group);
1586 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorAngle"), SuppressUnmanagedCodeSecurity]
1587 public static extern void JointSetAMotorAngle(IntPtr j,
int anum,
dReal angle);
1589 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorAxis"), SuppressUnmanagedCodeSecurity]
1590 public static extern void JointSetAMotorAxis(IntPtr j,
int anum,
int rel,
dReal x,
dReal y,
dReal z);
1592 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorMode"), SuppressUnmanagedCodeSecurity]
1593 public static extern void JointSetAMotorMode(IntPtr j,
int mode);
1595 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorNumAxes"), SuppressUnmanagedCodeSecurity]
1596 public static extern void JointSetAMotorNumAxes(IntPtr group,
int num);
1598 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetAMotorParam"), SuppressUnmanagedCodeSecurity]
1599 public static extern void JointSetAMotorParam(IntPtr group,
int parameter,
dReal value);
1601 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetBallAnchor"), SuppressUnmanagedCodeSecurity]
1602 public static extern void JointSetBallAnchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1604 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetBallAnchor2"), SuppressUnmanagedCodeSecurity]
1605 public static extern void JointSetBallAnchor2(IntPtr j,
dReal x,
dReal y,
dReal z);
1607 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetData"), SuppressUnmanagedCodeSecurity]
1608 public static extern void JointSetData(IntPtr j, IntPtr data);
1610 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetFeedback"), SuppressUnmanagedCodeSecurity]
1611 public static extern void JointSetFeedback(IntPtr j, out JointFeedback feedback);
1613 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetFixed"), SuppressUnmanagedCodeSecurity]
1614 public static extern void JointSetFixed(IntPtr j);
1616 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHingeAnchor"), SuppressUnmanagedCodeSecurity]
1617 public static extern void JointSetHingeAnchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1619 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHingeAnchorDelta"), SuppressUnmanagedCodeSecurity]
1622 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHingeAxis"), SuppressUnmanagedCodeSecurity]
1623 public static extern void JointSetHingeAxis(IntPtr j,
dReal x,
dReal y,
dReal z);
1625 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHingeParam"), SuppressUnmanagedCodeSecurity]
1626 public static extern void JointSetHingeParam(IntPtr j,
int parameter,
dReal value);
1628 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHinge2Anchor"), SuppressUnmanagedCodeSecurity]
1629 public static extern void JointSetHinge2Anchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1631 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHinge2Axis1"), SuppressUnmanagedCodeSecurity]
1632 public static extern void JointSetHinge2Axis1(IntPtr j,
dReal x,
dReal y,
dReal z);
1634 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHinge2Axis2"), SuppressUnmanagedCodeSecurity]
1635 public static extern void JointSetHinge2Axis2(IntPtr j,
dReal x,
dReal y,
dReal z);
1637 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetHinge2Param"), SuppressUnmanagedCodeSecurity]
1638 public static extern void JointSetHinge2Param(IntPtr j,
int parameter,
dReal value);
1640 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetLMotorAxis"), SuppressUnmanagedCodeSecurity]
1641 public static extern void JointSetLMotorAxis(IntPtr j,
int anum,
int rel,
dReal x,
dReal y,
dReal z);
1643 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetLMotorNumAxes"), SuppressUnmanagedCodeSecurity]
1644 public static extern void JointSetLMotorNumAxes(IntPtr j,
int num);
1646 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetLMotorParam"), SuppressUnmanagedCodeSecurity]
1647 public static extern void JointSetLMotorParam(IntPtr j,
int parameter,
dReal value);
1649 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPlane2DAngleParam"), SuppressUnmanagedCodeSecurity]
1650 public static extern void JointSetPlane2DAngleParam(IntPtr j,
int parameter,
dReal value);
1652 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPlane2DXParam"), SuppressUnmanagedCodeSecurity]
1653 public static extern void JointSetPlane2DXParam(IntPtr j,
int parameter,
dReal value);
1655 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPlane2DYParam"), SuppressUnmanagedCodeSecurity]
1656 public static extern void JointSetPlane2DYParam(IntPtr j,
int parameter,
dReal value);
1658 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPRAnchor"), SuppressUnmanagedCodeSecurity]
1659 public static extern void JointSetPRAnchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1661 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPRAxis1"), SuppressUnmanagedCodeSecurity]
1662 public static extern void JointSetPRAxis1(IntPtr j,
dReal x,
dReal y,
dReal z);
1664 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPRAxis2"), SuppressUnmanagedCodeSecurity]
1665 public static extern void JointSetPRAxis2(IntPtr j,
dReal x,
dReal y,
dReal z);
1667 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetPRParam"), SuppressUnmanagedCodeSecurity]
1668 public static extern void JointSetPRParam(IntPtr j,
int parameter,
dReal value);
1670 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetSliderAxis"), SuppressUnmanagedCodeSecurity]
1671 public static extern void JointSetSliderAxis(IntPtr j,
dReal x,
dReal y,
dReal z);
1673 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetSliderAxisDelta"), SuppressUnmanagedCodeSecurity]
1676 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetSliderParam"), SuppressUnmanagedCodeSecurity]
1677 public static extern void JointSetSliderParam(IntPtr j,
int parameter,
dReal value);
1679 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetUniversalAnchor"), SuppressUnmanagedCodeSecurity]
1680 public static extern void JointSetUniversalAnchor(IntPtr j,
dReal x,
dReal y,
dReal z);
1682 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetUniversalAxis1"), SuppressUnmanagedCodeSecurity]
1683 public static extern void JointSetUniversalAxis1(IntPtr j,
dReal x,
dReal y,
dReal z);
1685 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetUniversalAxis2"), SuppressUnmanagedCodeSecurity]
1686 public static extern void JointSetUniversalAxis2(IntPtr j,
dReal x,
dReal y,
dReal z);
1688 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dJointSetUniversalParam"), SuppressUnmanagedCodeSecurity]
1689 public static extern void JointSetUniversalParam(IntPtr j,
int parameter,
dReal value);
1691 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dLDLTAddTL"), SuppressUnmanagedCodeSecurity]
1692 public static extern void LDLTAddTL(ref
dReal L, ref
dReal d, ref
dReal a,
int n,
int nskip);
1694 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassAdd"), SuppressUnmanagedCodeSecurity]
1695 public static extern void MassAdd(ref Mass a, ref Mass b);
1697 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassAdjust"), SuppressUnmanagedCodeSecurity]
1698 public static extern void MassAdjust(ref Mass m,
dReal newmass);
1700 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassCheck"), SuppressUnmanagedCodeSecurity]
1701 public static extern bool MassCheck(ref Mass m);
1703 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassRotate"), SuppressUnmanagedCodeSecurity]
1704 public static extern void MassRotate(ref Mass mass, ref Matrix3 R);
1706 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassRotate"), SuppressUnmanagedCodeSecurity]
1707 public static extern void MassRotate(ref Mass mass, ref
dReal M00);
1709 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetBox"), SuppressUnmanagedCodeSecurity]
1710 public static extern void MassSetBox(out Mass mass,
dReal density,
dReal lx,
dReal ly,
dReal lz);
1712 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetBoxTotal"), SuppressUnmanagedCodeSecurity]
1713 public static extern void MassSetBoxTotal(out Mass mass,
dReal total_mass,
dReal lx,
dReal ly,
dReal lz);
1715 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetCapsule"), SuppressUnmanagedCodeSecurity]
1716 public static extern void MassSetCapsule(out Mass mass,
dReal density,
int direction,
dReal radius,
dReal length);
1718 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetCapsuleTotal"), SuppressUnmanagedCodeSecurity]
1719 public static extern void MassSetCapsuleTotal(out Mass mass,
dReal total_mass,
int direction,
dReal radius,
dReal length);
1721 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetCylinder"), SuppressUnmanagedCodeSecurity]
1722 public static extern void MassSetCylinder(out Mass mass,
dReal density,
int direction,
dReal radius,
dReal length);
1724 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetCylinderTotal"), SuppressUnmanagedCodeSecurity]
1725 public static extern void MassSetCylinderTotal(out Mass mass,
dReal total_mass,
int direction,
dReal radius,
dReal length);
1727 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetParameters"), SuppressUnmanagedCodeSecurity]
1728 public static extern void MassSetParameters(out Mass mass,
dReal themass,
1733 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetSphere"), SuppressUnmanagedCodeSecurity]
1734 public static extern void MassSetSphere(out Mass mass,
dReal density,
dReal radius);
1736 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetSphereTotal"), SuppressUnmanagedCodeSecurity]
1737 public static extern void dMassSetSphereTotal(out Mass mass,
dReal total_mass,
dReal radius);
1739 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetTrimesh"), SuppressUnmanagedCodeSecurity]
1740 public static extern void MassSetTrimesh(out Mass mass,
dReal density, IntPtr g);
1742 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassSetZero"), SuppressUnmanagedCodeSecurity]
1743 public static extern void MassSetZero(out Mass mass);
1745 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMassTranslate"), SuppressUnmanagedCodeSecurity]
1746 public static extern void MassTranslate(ref Mass mass,
dReal x,
dReal y,
dReal z);
1748 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMultiply0"), SuppressUnmanagedCodeSecurity]
1749 public static extern void Multiply0(out
dReal A00, ref
dReal B00, ref
dReal C00,
int p,
int q,
int r);
1751 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMultiply0"), SuppressUnmanagedCodeSecurity]
1752 private static extern void MultiplyiM3V3(out Vector3 vout, ref Matrix3 matrix, ref Vector3 vect,
int p,
int q,
int r);
1753 public static void MultiplyM3V3(out Vector3 outvector, ref Matrix3 matrix, ref Vector3 invector)
1755 MultiplyiM3V3(out outvector, ref matrix, ref invector, 3, 3, 1);
1758 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMultiply1"), SuppressUnmanagedCodeSecurity]
1759 public static extern void Multiply1(out
dReal A00, ref
dReal B00, ref
dReal C00,
int p,
int q,
int r);
1761 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dMultiply2"), SuppressUnmanagedCodeSecurity]
1762 public static extern void Multiply2(out
dReal A00, ref
dReal B00, ref
dReal C00,
int p,
int q,
int r);
1764 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQFromAxisAndAngle"), SuppressUnmanagedCodeSecurity]
1765 public static extern void QFromAxisAndAngle(out Quaternion q,
dReal ax,
dReal ay,
dReal az,
dReal angle);
1767 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQfromR"), SuppressUnmanagedCodeSecurity]
1768 public static extern void QfromR(out Quaternion q, ref Matrix3 R);
1770 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQMultiply0"), SuppressUnmanagedCodeSecurity]
1771 public static extern void QMultiply0(out Quaternion qa, ref Quaternion qb, ref Quaternion qc);
1773 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQMultiply1"), SuppressUnmanagedCodeSecurity]
1774 public static extern void QMultiply1(out Quaternion qa, ref Quaternion qb, ref Quaternion qc);
1776 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQMultiply2"), SuppressUnmanagedCodeSecurity]
1777 public static extern void QMultiply2(out Quaternion qa, ref Quaternion qb, ref Quaternion qc);
1779 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQMultiply3"), SuppressUnmanagedCodeSecurity]
1780 public static extern void QMultiply3(out Quaternion qa, ref Quaternion qb, ref Quaternion qc);
1782 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQSetIdentity"), SuppressUnmanagedCodeSecurity]
1783 public static extern void QSetIdentity(out Quaternion q);
1785 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQuadTreeSpaceCreate"), SuppressUnmanagedCodeSecurity]
1786 public static extern IntPtr QuadTreeSpaceCreate(IntPtr space, ref Vector3 center, ref Vector3 extents,
int depth);
1788 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dQuadTreeSpaceCreate"), SuppressUnmanagedCodeSecurity]
1789 public static extern IntPtr QuadTreeSpaceCreate(IntPtr space, ref
dReal centerX, ref
dReal extentsX,
int depth);
1791 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRandReal"), SuppressUnmanagedCodeSecurity]
1792 public static extern dReal RandReal();
1794 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRFrom2Axes"), SuppressUnmanagedCodeSecurity]
1797 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRFromAxisAndAngle"), SuppressUnmanagedCodeSecurity]
1798 public static extern void RFromAxisAndAngle(out Matrix3 R,
dReal x,
dReal y,
dReal z,
dReal angle);
1800 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRFromEulerAngles"), SuppressUnmanagedCodeSecurity]
1801 public static extern void RFromEulerAngles(out Matrix3 R,
dReal phi,
dReal theta,
dReal psi);
1803 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRfromQ"), SuppressUnmanagedCodeSecurity]
1804 public static extern void RfromQ(out Matrix3 R, ref Quaternion q);
1806 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRFromZAxis"), SuppressUnmanagedCodeSecurity]
1807 public static extern void RFromZAxis(out Matrix3 R,
dReal ax,
dReal ay,
dReal az);
1809 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dRSetIdentity"), SuppressUnmanagedCodeSecurity]
1810 public static extern void RSetIdentity(out Matrix3 R);
1812 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSetValue"), SuppressUnmanagedCodeSecurity]
1813 public static extern void SetValue(out
dReal a,
int n);
1815 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSetZero"), SuppressUnmanagedCodeSecurity]
1816 public static extern void SetZero(out
dReal a,
int n);
1818 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSimpleSpaceCreate"), SuppressUnmanagedCodeSecurity]
1819 public static extern IntPtr SimpleSpaceCreate(IntPtr space);
1821 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSolveCholesky"), SuppressUnmanagedCodeSecurity]
1822 public static extern void SolveCholesky(ref
dReal L, out
dReal b,
int n);
1824 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSolveL1"), SuppressUnmanagedCodeSecurity]
1825 public static extern void SolveL1(ref
dReal L, out
dReal b,
int n,
int nskip);
1827 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSolveL1T"), SuppressUnmanagedCodeSecurity]
1828 public static extern void SolveL1T(ref
dReal L, out
dReal b,
int n,
int nskip);
1830 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSolveLDLT"), SuppressUnmanagedCodeSecurity]
1831 public static extern void SolveLDLT(ref
dReal L, ref
dReal d, out
dReal b,
int n,
int nskip);
1833 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceAdd"), SuppressUnmanagedCodeSecurity]
1834 public static extern void SpaceAdd(IntPtr space, IntPtr geom);
1836 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceLockQuery"), SuppressUnmanagedCodeSecurity]
1837 public static extern bool SpaceLockQuery(IntPtr space);
1839 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceClean"), SuppressUnmanagedCodeSecurity]
1840 public static extern void SpaceClean(IntPtr space);
1842 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceCollide"), SuppressUnmanagedCodeSecurity]
1843 public static extern void SpaceCollide(IntPtr space, IntPtr data, NearCallback callback);
1845 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceCollide2"), SuppressUnmanagedCodeSecurity]
1846 public static extern void SpaceCollide2(IntPtr space1, IntPtr space2, IntPtr data, NearCallback callback);
1848 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceDestroy"), SuppressUnmanagedCodeSecurity]
1849 public static extern void SpaceDestroy(IntPtr space);
1851 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceGetCleanup"), SuppressUnmanagedCodeSecurity]
1852 public static extern bool SpaceGetCleanup(IntPtr space);
1854 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceGetNumGeoms"), SuppressUnmanagedCodeSecurity]
1855 public static extern int SpaceGetNumGeoms(IntPtr space);
1857 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceGetGeom"), SuppressUnmanagedCodeSecurity]
1858 public static extern IntPtr SpaceGetGeom(IntPtr space,
int i);
1860 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceGetSublevel"), SuppressUnmanagedCodeSecurity]
1861 public static extern int SpaceGetSublevel(IntPtr space);
1863 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceQuery"), SuppressUnmanagedCodeSecurity]
1864 public static extern bool SpaceQuery(IntPtr space, IntPtr geom);
1866 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceRemove"), SuppressUnmanagedCodeSecurity]
1867 public static extern void SpaceRemove(IntPtr space, IntPtr geom);
1869 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceSetCleanup"), SuppressUnmanagedCodeSecurity]
1870 public static extern void SpaceSetCleanup(IntPtr space,
bool mode);
1872 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSpaceSetSublevel"), SuppressUnmanagedCodeSecurity]
1873 public static extern void SpaceSetSublevel(IntPtr space,
int sublevel);
1875 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dSweepAndPruneSpaceCreate"), SuppressUnmanagedCodeSecurity]
1876 public static extern IntPtr SweepAndPruneSpaceCreate(IntPtr space,
int AxisOrder);
1878 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dVectorScale"), SuppressUnmanagedCodeSecurity]
1879 public static extern void VectorScale(out
dReal a, ref
dReal d,
int n);
1881 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldCreate"), SuppressUnmanagedCodeSecurity]
1882 public static extern IntPtr WorldCreate();
1884 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldDestroy"), SuppressUnmanagedCodeSecurity]
1885 public static extern void WorldDestroy(IntPtr world);
1887 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableAverageSamplesCount"), SuppressUnmanagedCodeSecurity]
1888 public static extern int WorldGetAutoDisableAverageSamplesCount(IntPtr world);
1890 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableAngularThreshold"), SuppressUnmanagedCodeSecurity]
1891 public static extern dReal WorldGetAutoDisableAngularThreshold(IntPtr world);
1893 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableFlag"), SuppressUnmanagedCodeSecurity]
1894 public static extern bool WorldGetAutoDisableFlag(IntPtr world);
1896 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableLinearThreshold"), SuppressUnmanagedCodeSecurity]
1897 public static extern dReal WorldGetAutoDisableLinearThreshold(IntPtr world);
1899 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableSteps"), SuppressUnmanagedCodeSecurity]
1900 public static extern int WorldGetAutoDisableSteps(IntPtr world);
1902 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoDisableTime"), SuppressUnmanagedCodeSecurity]
1903 public static extern dReal WorldGetAutoDisableTime(IntPtr world);
1905 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAutoEnableDepthSF1"), SuppressUnmanagedCodeSecurity]
1906 public static extern int WorldGetAutoEnableDepthSF1(IntPtr world);
1908 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetCFM"), SuppressUnmanagedCodeSecurity]
1909 public static extern dReal WorldGetCFM(IntPtr world);
1911 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetERP"), SuppressUnmanagedCodeSecurity]
1912 public static extern dReal WorldGetERP(IntPtr world);
1914 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetGravity"), SuppressUnmanagedCodeSecurity]
1915 public static extern void WorldGetGravity(IntPtr world, out Vector3 gravity);
1917 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetGravity"), SuppressUnmanagedCodeSecurity]
1918 public static extern void WorldGetGravity(IntPtr world, out
dReal X);
1920 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetContactMaxCorrectingVel"), SuppressUnmanagedCodeSecurity]
1921 public static extern dReal WorldGetContactMaxCorrectingVel(IntPtr world);
1923 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetContactSurfaceLayer"), SuppressUnmanagedCodeSecurity]
1924 public static extern dReal WorldGetContactSurfaceLayer(IntPtr world);
1926 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAngularDamping"), SuppressUnmanagedCodeSecurity]
1927 public static extern dReal WorldGetAngularDamping(IntPtr world);
1929 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetAngularDampingThreshold"), SuppressUnmanagedCodeSecurity]
1930 public static extern dReal WorldGetAngularDampingThreshold(IntPtr world);
1932 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetLinearDamping"), SuppressUnmanagedCodeSecurity]
1933 public static extern dReal WorldGetLinearDamping(IntPtr world);
1935 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetLinearDampingThreshold"), SuppressUnmanagedCodeSecurity]
1936 public static extern dReal WorldGetLinearDampingThreshold(IntPtr world);
1938 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetQuickStepNumIterations"), SuppressUnmanagedCodeSecurity]
1939 public static extern int WorldGetQuickStepNumIterations(IntPtr world);
1941 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetQuickStepW"), SuppressUnmanagedCodeSecurity]
1942 public static extern dReal WorldGetQuickStepW(IntPtr world);
1944 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldGetMaxAngularSpeed"), SuppressUnmanagedCodeSecurity]
1945 public static extern dReal WorldGetMaxAngularSpeed(IntPtr world);
1947 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldImpulseToForce"), SuppressUnmanagedCodeSecurity]
1948 public static extern void WorldImpulseToForce(IntPtr world,
dReal stepsize,
dReal ix,
dReal iy,
dReal iz, out Vector3 force);
1950 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldImpulseToForce"), SuppressUnmanagedCodeSecurity]
1951 public static extern void WorldImpulseToForce(IntPtr world,
dReal stepsize,
dReal ix,
dReal iy,
dReal iz, out
dReal forceX);
1953 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldQuickStep"), SuppressUnmanagedCodeSecurity]
1954 public static extern void WorldQuickStep(IntPtr world,
dReal stepsize);
1956 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAngularDamping"), SuppressUnmanagedCodeSecurity]
1957 public static extern void WorldSetAngularDamping(IntPtr world,
dReal scale);
1959 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAngularDampingThreshold"), SuppressUnmanagedCodeSecurity]
1960 public static extern void WorldSetAngularDampingThreshold(IntPtr world,
dReal threshold);
1962 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableAngularThreshold"), SuppressUnmanagedCodeSecurity]
1963 public static extern void WorldSetAutoDisableAngularThreshold(IntPtr world,
dReal angular_threshold);
1965 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableAverageSamplesCount"), SuppressUnmanagedCodeSecurity]
1966 public static extern void WorldSetAutoDisableAverageSamplesCount(IntPtr world,
int average_samples_count);
1968 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableFlag"), SuppressUnmanagedCodeSecurity]
1969 public static extern void WorldSetAutoDisableFlag(IntPtr world,
bool do_auto_disable);
1971 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableLinearThreshold"), SuppressUnmanagedCodeSecurity]
1972 public static extern void WorldSetAutoDisableLinearThreshold(IntPtr world,
dReal linear_threshold);
1974 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableSteps"), SuppressUnmanagedCodeSecurity]
1975 public static extern void WorldSetAutoDisableSteps(IntPtr world,
int steps);
1977 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoDisableTime"), SuppressUnmanagedCodeSecurity]
1978 public static extern void WorldSetAutoDisableTime(IntPtr world,
dReal time);
1980 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetAutoEnableDepthSF1"), SuppressUnmanagedCodeSecurity]
1981 public static extern void WorldSetAutoEnableDepthSF1(IntPtr world,
int autoEnableDepth);
1983 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetCFM"), SuppressUnmanagedCodeSecurity]
1984 public static extern void WorldSetCFM(IntPtr world,
dReal cfm);
1986 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetContactMaxCorrectingVel"), SuppressUnmanagedCodeSecurity]
1987 public static extern void WorldSetContactMaxCorrectingVel(IntPtr world,
dReal vel);
1989 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetContactSurfaceLayer"), SuppressUnmanagedCodeSecurity]
1990 public static extern void WorldSetContactSurfaceLayer(IntPtr world,
dReal depth);
1992 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetDamping"), SuppressUnmanagedCodeSecurity]
1993 public static extern void WorldSetDamping(IntPtr world,
dReal linear_scale,
dReal angular_scale);
1995 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetERP"), SuppressUnmanagedCodeSecurity]
1996 public static extern void WorldSetERP(IntPtr world,
dReal erp);
1998 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetGravity"), SuppressUnmanagedCodeSecurity]
1999 public static extern void WorldSetGravity(IntPtr world,
dReal x,
dReal y,
dReal z);
2001 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetLinearDamping"), SuppressUnmanagedCodeSecurity]
2002 public static extern void WorldSetLinearDamping(IntPtr world,
dReal scale);
2004 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetLinearDampingThreshold"), SuppressUnmanagedCodeSecurity]
2005 public static extern void WorldSetLinearDampingThreshold(IntPtr world,
dReal threshold);
2007 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetQuickStepNumIterations"), SuppressUnmanagedCodeSecurity]
2008 public static extern void WorldSetQuickStepNumIterations(IntPtr world,
int num);
2010 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetQuickStepW"), SuppressUnmanagedCodeSecurity]
2011 public static extern void WorldSetQuickStepW(IntPtr world,
dReal over_relaxation);
2013 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldSetMaxAngularSpeed"), SuppressUnmanagedCodeSecurity]
2014 public static extern void WorldSetMaxAngularSpeed(IntPtr world,
dReal max_speed);
2016 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldStep"), SuppressUnmanagedCodeSecurity]
2017 public static extern void WorldStep(IntPtr world,
dReal stepsize);
2019 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldStepFast1"), SuppressUnmanagedCodeSecurity]
2020 public static extern void WorldStepFast1(IntPtr world,
dReal stepsize,
int maxiterations);
2022 [DllImport(
"ode", CallingConvention = CallingConvention.Cdecl, EntryPoint =
"dWorldExportDIF"), SuppressUnmanagedCodeSecurity]
2023 public static extern void WorldExportDIF(IntPtr world,
string filename,
bool append,
string prefix);
Vector4(dReal x, dReal y, dReal z, dReal w)
Interactive OpenSim region server
Vector3(dReal x, dReal y, dReal z)
Matrix3(dReal m00, dReal m10, dReal m20, dReal m01, dReal m11, dReal m21, dReal m02, dReal m12, dReal m22)
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)