This commit is contained in:
AndresTraks 2017-07-10 21:15:03 +03:00
Родитель 6a1aa8ad76
Коммит 09cf697cb9
13 изменённых файлов: 1022 добавлений и 1115 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,113 +1,93 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
public abstract class MultiBodyConstraint : IDisposable
{
internal IntPtr _native;
internal IntPtr Native;
protected MultiBody _multiBodyA;
protected MultiBody _multiBodyB;
internal MultiBodyConstraint(IntPtr native)
internal MultiBodyConstraint(IntPtr native, MultiBody bodyA, MultiBody bodyB)
{
_native = native;
Native = native;
MultiBodyA = bodyA;
MultiBodyB = bodyB;
}
public void AllocateJacobiansMultiDof()
{
btMultiBodyConstraint_allocateJacobiansMultiDof(_native);
btMultiBodyConstraint_allocateJacobiansMultiDof(Native);
}
/*
/*
public void CreateConstraintRows(MultiBodyConstraintArray constraintRows,
MultiBodyJacobianData data, ContactSolverInfo infoGlobal)
{
btMultiBodyConstraint_createConstraintRows(_native, constraintRows._native,
data._native, infoGlobal._native);
btMultiBodyConstraint_createConstraintRows(Native, constraintRows.Native,
data.Native, infoGlobal.Native);
}
*/
*/
public void DebugDraw(IDebugDraw drawer)
{
btMultiBodyConstraint_debugDraw(_native, BulletSharp.DebugDraw.GetUnmanaged(drawer));
btMultiBodyConstraint_debugDraw(Native, BulletSharp.DebugDraw.GetUnmanaged(drawer));
}
public void FinalizeMultiDof()
{
btMultiBodyConstraint_finalizeMultiDof(_native);
btMultiBodyConstraint_finalizeMultiDof(Native);
}
public float GetAppliedImpulse(int dof)
{
return btMultiBodyConstraint_getAppliedImpulse(_native, dof);
return btMultiBodyConstraint_getAppliedImpulse(Native, dof);
}
public float GetPosition(int row)
{
return btMultiBodyConstraint_getPosition(_native, row);
return btMultiBodyConstraint_getPosition(Native, row);
}
public void InternalSetAppliedImpulse(int dof, float appliedImpulse)
{
btMultiBodyConstraint_internalSetAppliedImpulse(_native, dof, appliedImpulse);
btMultiBodyConstraint_internalSetAppliedImpulse(Native, dof, appliedImpulse);
}
/*
/*
public float JacobianA(int row)
{
return btMultiBodyConstraint_jacobianA(_native, row);
return btMultiBodyConstraint_jacobianA(Native, row);
}
public float JacobianB(int row)
{
return btMultiBodyConstraint_jacobianB(_native, row);
return btMultiBodyConstraint_jacobianB(Native, row);
}
*/
*/
public void SetPosition(int row, float pos)
{
btMultiBodyConstraint_setPosition(_native, row, pos);
btMultiBodyConstraint_setPosition(Native, row, pos);
}
public void UpdateJacobianSizes()
{
btMultiBodyConstraint_updateJacobianSizes(_native);
btMultiBodyConstraint_updateJacobianSizes(Native);
}
public int IslandIdA
{
get { return btMultiBodyConstraint_getIslandIdA(_native); }
}
public int IslandIdA => btMultiBodyConstraint_getIslandIdA(Native);
public int IslandIdB
{
get { return btMultiBodyConstraint_getIslandIdB(_native); }
}
public int IslandIdB => btMultiBodyConstraint_getIslandIdB(Native);
public bool IsUnilateral
{
get { return btMultiBodyConstraint_isUnilateral(_native); }
}
public bool IsUnilateral => btMultiBodyConstraint_isUnilateral(Native);
public float MaxAppliedImpulse
{
get { return btMultiBodyConstraint_getMaxAppliedImpulse(_native); }
set { btMultiBodyConstraint_setMaxAppliedImpulse(_native, value); }
get => btMultiBodyConstraint_getMaxAppliedImpulse(Native);
set => btMultiBodyConstraint_setMaxAppliedImpulse(Native, value);
}
public MultiBody MultiBodyA
{
get { return _multiBodyA; }
}
public MultiBody MultiBodyA { get; }
public MultiBody MultiBodyB
{
get { return _multiBodyB; }
}
public MultiBody MultiBodyB { get; }
public int NumRows
{
get { return btMultiBodyConstraint_getNumRows(_native); }
}
public int NumRows => btMultiBodyConstraint_getNumRows(Native);
public void Dispose()
{
@ -117,10 +97,10 @@ namespace BulletSharp
protected virtual void Dispose(bool disposing)
{
if (_native != IntPtr.Zero)
if (Native != IntPtr.Zero)
{
btMultiBodyConstraint_delete(_native);
_native = IntPtr.Zero;
btMultiBodyConstraint_delete(Native);
Native = IntPtr.Zero;
}
}
@ -128,47 +108,5 @@ namespace BulletSharp
{
Dispose(false);
}
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_allocateJacobiansMultiDof(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_createConstraintRows(IntPtr obj, IntPtr constraintRows, IntPtr data, IntPtr infoGlobal);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_debugDraw(IntPtr obj, IntPtr drawer);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_finalizeMultiDof(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodyConstraint_getAppliedImpulse(IntPtr obj, int dof);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodyConstraint_getIslandIdA(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodyConstraint_getIslandIdB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodyConstraint_getMaxAppliedImpulse(IntPtr obj);
//[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
//static extern IntPtr btMultiBodyConstraint_getMultiBodyA(IntPtr obj);
//[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
//static extern IntPtr btMultiBodyConstraint_getMultiBodyB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodyConstraint_getNumRows(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodyConstraint_getPosition(IntPtr obj, int row);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_internalSetAppliedImpulse(IntPtr obj, int dof, float appliedImpulse);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
[return: MarshalAs(UnmanagedType.I1)]
static extern bool btMultiBodyConstraint_isUnilateral(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyConstraint_jacobianA(IntPtr obj, int row);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyConstraint_jacobianB(IntPtr obj, int row);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_setMaxAppliedImpulse(IntPtr obj, float maxImp);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_setPosition(IntPtr obj, int row, float pos);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_updateJacobianSizes(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraint_delete(IntPtr obj);
}
}

Просмотреть файл

@ -1,6 +1,4 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
@ -10,12 +8,12 @@ namespace BulletSharp
: base(btMultiBodyConstraintSolver_new(), false)
{
}
/*
/*
public float SolveGroupCacheFriendlyFinish(CollisionObject bodies, int numBodies,
ContactSolverInfo infoGlobal)
{
return btMultiBodyConstraintSolver_solveGroupCacheFriendlyFinish(_native,
bodies._native, numBodies, infoGlobal._native);
return btMultiBodyConstraintSolver_solveGroupCacheFriendlyFinish(Native,
bodies.Native, numBodies, infoGlobal.Native);
}
public void SolveMultiBodyGroup(CollisionObject bodies, int numBodies, PersistentManifold manifold,
@ -23,17 +21,11 @@ namespace BulletSharp
int numMultiBodyConstraints, ContactSolverInfo info, IDebugDraw debugDrawer,
Dispatcher dispatcher)
{
btMultiBodyConstraintSolver_solveMultiBodyGroup(_native, bodies._native,
numBodies, manifold._native, numManifolds, constraints._native, numConstraints,
multiBodyConstraints._native, numMultiBodyConstraints, info._native,
debugDrawer._native, dispatcher._native);
btMultiBodyConstraintSolver_solveMultiBodyGroup(Native, bodies.Native,
numBodies, manifold.Native, numManifolds, constraints.Native, numConstraints,
multiBodyConstraints.Native, numMultiBodyConstraints, info.Native,
debugDrawer.Native, dispatcher.Native);
}
*/
[DllImport(BulletSharp.Native.Dll, CallingConvention = BulletSharp.Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyConstraintSolver_new();
[DllImport(BulletSharp.Native.Dll, CallingConvention = BulletSharp.Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodyConstraintSolver_solveGroupCacheFriendlyFinish(IntPtr obj, IntPtr bodies, int numBodies, IntPtr infoGlobal);
[DllImport(BulletSharp.Native.Dll, CallingConvention = BulletSharp.Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyConstraintSolver_solveMultiBodyGroup(IntPtr obj, IntPtr bodies, int numBodies, IntPtr manifold, int numManifolds, IntPtr constraints, int numConstraints, IntPtr multiBodyConstraints, int numMultiBodyConstraints, IntPtr info, IntPtr debugDrawer, IntPtr dispatcher);
*/
}
}

Просмотреть файл

@ -22,14 +22,14 @@ namespace BulletSharp
public void AddMultiBody(MultiBody body, int group = (int)CollisionFilterGroups.DefaultFilter,
int mask = (int)CollisionFilterGroups.AllFilter)
{
btMultiBodyDynamicsWorld_addMultiBody(Native, body._native, group,
btMultiBodyDynamicsWorld_addMultiBody(Native, body.Native, group,
mask);
_bodies.Add(body);
}
public void AddMultiBodyConstraint(MultiBodyConstraint constraint)
{
btMultiBodyDynamicsWorld_addMultiBodyConstraint(Native, constraint._native);
btMultiBodyDynamicsWorld_addMultiBodyConstraint(Native, constraint.Native);
_constraints.Add(constraint);
}
@ -45,7 +45,7 @@ namespace BulletSharp
public void DebugDrawMultiBodyConstraint(MultiBodyConstraint constraint)
{
btMultiBodyDynamicsWorld_debugDrawMultiBodyConstraint(Native, constraint._native);
btMultiBodyDynamicsWorld_debugDrawMultiBodyConstraint(Native, constraint.Native);
}
public void ForwardKinematics()
@ -70,13 +70,13 @@ namespace BulletSharp
public void RemoveMultiBody(MultiBody body)
{
btMultiBodyDynamicsWorld_removeMultiBody(Native, body._native);
btMultiBodyDynamicsWorld_removeMultiBody(Native, body.Native);
_bodies.Remove(body);
}
public void RemoveMultiBodyConstraint(MultiBodyConstraint constraint)
{
btMultiBodyDynamicsWorld_removeMultiBodyConstraint(Native, constraint._native);
btMultiBodyDynamicsWorld_removeMultiBodyConstraint(Native, constraint.Native);
_constraints.Remove(constraint);
}

Просмотреть файл

@ -1,28 +1,21 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using BulletSharp.Math;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
public class MultiBodyFixedConstraint : MultiBodyConstraint
{
internal MultiBodyFixedConstraint(IntPtr native)
: base(native)
{
}
public MultiBodyFixedConstraint(MultiBody body, int link, RigidBody bodyB,
Vector3 pivotInA, Vector3 pivotInB, Matrix frameInA, Matrix frameInB)
: base(btMultiBodyFixedConstraint_new(body._native, link, bodyB.Native,
ref pivotInA, ref pivotInB, ref frameInA, ref frameInB))
: base(btMultiBodyFixedConstraint_new(body.Native, link, bodyB.Native,
ref pivotInA, ref pivotInB, ref frameInA, ref frameInB), body, null)
{
}
public MultiBodyFixedConstraint(MultiBody bodyA, int linkA, MultiBody bodyB,
int linkB, Vector3 pivotInA, Vector3 pivotInB, Matrix frameInA, Matrix frameInB)
: base(btMultiBodyFixedConstraint_new2(bodyA._native, linkA, bodyB._native,
linkB, ref pivotInA, ref pivotInB, ref frameInA, ref frameInB))
: base(btMultiBodyFixedConstraint_new2(bodyA.Native, linkA, bodyB.Native,
linkB, ref pivotInA, ref pivotInB, ref frameInA, ref frameInB), bodyA, bodyB)
{
}
@ -31,10 +24,10 @@ namespace BulletSharp
get
{
Matrix value;
btMultiBodyFixedConstraint_getFrameInA(_native, out value);
btMultiBodyFixedConstraint_getFrameInA(Native, out value);
return value;
}
set { btMultiBodyFixedConstraint_setFrameInA(_native, ref value); }
set => btMultiBodyFixedConstraint_setFrameInA(Native, ref value);
}
public Matrix FrameInB
@ -42,10 +35,10 @@ namespace BulletSharp
get
{
Matrix value;
btMultiBodyFixedConstraint_getFrameInB(_native, out value);
btMultiBodyFixedConstraint_getFrameInB(Native, out value);
return value;
}
set { btMultiBodyFixedConstraint_setFrameInB(_native, ref value); }
set => btMultiBodyFixedConstraint_setFrameInB(Native, ref value);
}
public Vector3 PivotInA
@ -53,10 +46,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodyFixedConstraint_getPivotInA(_native, out value);
btMultiBodyFixedConstraint_getPivotInA(Native, out value);
return value;
}
set { btMultiBodyFixedConstraint_setPivotInA(_native, ref value); }
set => btMultiBodyFixedConstraint_setPivotInA(Native, ref value);
}
public Vector3 PivotInB
@ -64,31 +57,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodyFixedConstraint_getPivotInB(_native, out value);
btMultiBodyFixedConstraint_getPivotInB(Native, out value);
return value;
}
set { btMultiBodyFixedConstraint_setPivotInB(_native, ref value); }
set => btMultiBodyFixedConstraint_setPivotInB(Native, ref value);
}
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyFixedConstraint_new(IntPtr body, int link, IntPtr bodyB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB, [In] ref Matrix frameInA, [In] ref Matrix frameInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyFixedConstraint_new2(IntPtr bodyA, int linkA, IntPtr bodyB, int linkB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB, [In] ref Matrix frameInA, [In] ref Matrix frameInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyFixedConstraint_getFrameInA(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyFixedConstraint_getFrameInB(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyFixedConstraint_getPivotInA(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyFixedConstraint_getPivotInB(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyFixedConstraint_setFrameInA(IntPtr obj, [In] ref Matrix frameInA);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyFixedConstraint_setFrameInB(IntPtr obj, [In] ref Matrix frameInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyFixedConstraint_setPivotInA(IntPtr obj, [In] ref Vector3 pivotInA);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyFixedConstraint_setPivotInB(IntPtr obj, [In] ref Vector3 pivotInB);
}
}

Просмотреть файл

@ -1,26 +1,14 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
public class MultiBodyJointLimitConstraint : MultiBodyConstraint
{
internal MultiBodyJointLimitConstraint(IntPtr native)
: base(native)
{
}
public MultiBodyJointLimitConstraint(MultiBody body, int link, float lower,
float upper)
: base(btMultiBodyJointLimitConstraint_new(body._native, link, lower,
upper))
: base(btMultiBodyJointLimitConstraint_new(body.Native, link, lower,
upper), body, body)
{
_multiBodyA = body;
_multiBodyB = body;
}
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyJointLimitConstraint_new(IntPtr body, int link, float lower, float upper);
}
}

Просмотреть файл

@ -1,44 +1,26 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
public class MultiBodyJointMotor : MultiBodyConstraint
{
internal MultiBodyJointMotor(IntPtr native)
: base(native)
{
}
public MultiBodyJointMotor(MultiBody body, int link, float desiredVelocity,
float maxMotorImpulse)
: base(btMultiBodyJointMotor_new(body._native, link, desiredVelocity,
maxMotorImpulse))
: base(btMultiBodyJointMotor_new(body.Native, link, desiredVelocity,
maxMotorImpulse), body, body)
{
_multiBodyA = body;
_multiBodyB = body;
}
public MultiBodyJointMotor(MultiBody body, int link, int linkDoF, float desiredVelocity,
float maxMotorImpulse)
: base(btMultiBodyJointMotor_new2(body._native, link, linkDoF, desiredVelocity,
maxMotorImpulse))
: base(btMultiBodyJointMotor_new2(body.Native, link, linkDoF, desiredVelocity,
maxMotorImpulse), body, body)
{
_multiBodyA = body;
_multiBodyB = body;
}
public void SetVelocityTarget(float velTarget)
{
btMultiBodyJointMotor_setVelocityTarget(_native, velTarget);
btMultiBodyJointMotor_setVelocityTarget(Native, velTarget);
}
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyJointMotor_new(IntPtr body, int link, float desiredVelocity, float maxMotorImpulse);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyJointMotor_new2(IntPtr body, int link, int linkDoF, float desiredVelocity, float maxMotorImpulse);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyJointMotor_setVelocityTarget(IntPtr obj, float velTarget);
}
}

Просмотреть файл

@ -1,7 +1,6 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using BulletSharp.Math;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
@ -19,55 +18,55 @@ namespace BulletSharp
public enum MultiBodyLinkFlags
{
None = 0,
DisableParentCollision = 1
DisableParentCollision = 1
}
public class MultiBodyLink
{
internal IntPtr _native;
internal IntPtr Native;
internal MultiBodyLink(IntPtr native)
{
_native = native;
Native = native;
}
public Vector3 GetAxisBottom(int dof)
{
Vector3 value;
btMultibodyLink_getAxisBottom(_native, dof, out value);
btMultibodyLink_getAxisBottom(Native, dof, out value);
return value;
}
public Vector3 GetAxisTop(int dof)
{
Vector3 value;
btMultibodyLink_getAxisTop(_native, dof, out value);
btMultibodyLink_getAxisTop(Native, dof, out value);
return value;
}
public void SetAxisBottom(int dof, float x, float y, float z)
{
btMultibodyLink_setAxisBottom(_native, dof, x, y, z);
btMultibodyLink_setAxisBottom(Native, dof, x, y, z);
}
public void SetAxisBottom(int dof, Vector3 axis)
{
btMultibodyLink_setAxisBottom2(_native, dof, ref axis);
btMultibodyLink_setAxisBottom2(Native, dof, ref axis);
}
public void SetAxisTop(int dof, float x, float y, float z)
{
btMultibodyLink_setAxisTop(_native, dof, x, y, z);
btMultibodyLink_setAxisTop(Native, dof, x, y, z);
}
public void SetAxisTop(int dof, Vector3 axis)
{
btMultibodyLink_setAxisTop2(_native, dof, ref axis);
btMultibodyLink_setAxisTop2(Native, dof, ref axis);
}
public void UpdateCacheMultiDof(float[] pq = null)
{
btMultibodyLink_updateCacheMultiDof(_native, pq);
btMultibodyLink_updateCacheMultiDof(Native, pq);
}
/*
public SpatialMotionVector AbsFrameLocVelocity
@ -87,10 +86,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultibodyLink_getAppliedConstraintForce(_native, out value);
btMultibodyLink_getAppliedConstraintForce(Native, out value);
return value;
}
set { btMultibodyLink_setAppliedConstraintForce(_native, ref value); }
set => btMultibodyLink_setAppliedConstraintForce(Native, ref value);
}
public Vector3 AppliedConstraintTorque
@ -98,10 +97,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultibodyLink_getAppliedConstraintTorque(_native, out value);
btMultibodyLink_getAppliedConstraintTorque(Native, out value);
return value;
}
set { btMultibodyLink_setAppliedConstraintTorque(_native, ref value); }
set => btMultibodyLink_setAppliedConstraintTorque(Native, ref value);
}
public Vector3 AppliedForce
@ -109,10 +108,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultibodyLink_getAppliedForce(_native, out value);
btMultibodyLink_getAppliedForce(Native, out value);
return value;
}
set { btMultibodyLink_setAppliedForce(_native, ref value); }
set => btMultibodyLink_setAppliedForce(Native, ref value);
}
public Vector3 AppliedTorque
@ -120,10 +119,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultibodyLink_getAppliedTorque(_native, out value);
btMultibodyLink_getAppliedTorque(Native, out value);
return value;
}
set { btMultibodyLink_setAppliedTorque(_native, ref value); }
set => btMultibodyLink_setAppliedTorque(Native, ref value);
}
/*
public SpatialMotionVector[] Axes
@ -136,10 +135,10 @@ namespace BulletSharp
get
{
Quaternion value;
btMultibodyLink_getCachedRotParentToThis(_native, out value);
btMultibodyLink_getCachedRotParentToThis(Native, out value);
return value;
}
set { btMultibodyLink_setCachedRotParentToThis(_native, ref value); }
set => btMultibodyLink_setCachedRotParentToThis(Native, ref value);
}
public Vector3 CachedRVector
@ -147,10 +146,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultibodyLink_getCachedRVector(_native, out value);
btMultibodyLink_getCachedRVector(Native, out value);
return value;
}
set { btMultibodyLink_setCachedRVector(_native, ref value); }
set => btMultibodyLink_setCachedRVector(Native, ref value);
}
public Matrix CachedWorldTransform
@ -158,34 +157,34 @@ namespace BulletSharp
get
{
Matrix value;
btMultibodyLink_getCachedWorldTransform(_native, out value);
btMultibodyLink_getCachedWorldTransform(Native, out value);
return value;
}
set { btMultibodyLink_setCachedWorldTransform(_native, ref value); }
set => btMultibodyLink_setCachedWorldTransform(Native, ref value);
}
public int CfgOffset
{
get { return btMultibodyLink_getCfgOffset(_native); }
set { btMultibodyLink_setCfgOffset(_native, value); }
get => btMultibodyLink_getCfgOffset(Native);
set => btMultibodyLink_setCfgOffset(Native, value);
}
public MultiBodyLinkCollider Collider
{
get { return CollisionObject.GetManaged(btMultibodyLink_getCollider(_native)) as MultiBodyLinkCollider; }
set { btMultibodyLink_setCollider(_native, value.Native); }
get => CollisionObject.GetManaged(btMultibodyLink_getCollider(Native)) as MultiBodyLinkCollider;
set => btMultibodyLink_setCollider(Native, value.Native);
}
public int DofCount
{
get { return btMultibodyLink_getDofCount(_native); }
set { btMultibodyLink_setDofCount(_native, value); }
get => btMultibodyLink_getDofCount(Native);
set => btMultibodyLink_setDofCount(Native, value);
}
public int DofOffset
{
get { return btMultibodyLink_getDofOffset(_native); }
set { btMultibodyLink_setDofOffset(_native, value); }
get => btMultibodyLink_getDofOffset(Native);
set => btMultibodyLink_setDofOffset(Native, value);
}
public Vector3 DVector
@ -193,10 +192,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultibodyLink_getDVector(_native, out value);
btMultibodyLink_getDVector(Native, out value);
return value;
}
set { btMultibodyLink_setDVector(_native, ref value); }
set => btMultibodyLink_setDVector(Native, ref value);
}
public Vector3 EVector
@ -204,16 +203,16 @@ namespace BulletSharp
get
{
Vector3 value;
btMultibodyLink_getEVector(_native, out value);
btMultibodyLink_getEVector(Native, out value);
return value;
}
set { btMultibodyLink_setEVector(_native, ref value); }
set => btMultibodyLink_setEVector(Native, ref value);
}
public int Flags
{
get { return btMultibodyLink_getFlags(_native); }
set { btMultibodyLink_setFlags(_native, value); }
get => btMultibodyLink_getFlags(Native);
set => btMultibodyLink_setFlags(Native, value);
}
public Vector3 InertiaLocal
@ -221,18 +220,18 @@ namespace BulletSharp
get
{
Vector3 value;
btMultibodyLink_getInertiaLocal(_native, out value);
btMultibodyLink_getInertiaLocal(Native, out value);
return value;
}
set { btMultibodyLink_setInertiaLocal(_native, ref value); }
set => btMultibodyLink_setInertiaLocal(Native, ref value);
}
public float JointDamping
{
get { return btMultibodyLink_getJointDamping(_native); }
set { btMultibodyLink_setJointDamping(_native, value); }
get => btMultibodyLink_getJointDamping(Native);
set => btMultibodyLink_setJointDamping(Native, value);
}
/*
/*
public MultiBodyJointFeedback JointFeedback
{
get { return _jointFeedback; }
@ -242,13 +241,13 @@ namespace BulletSharp
_jointFeedback = value;
}
}
*/
*/
public float JointFriction
{
get { return btMultibodyLink_getJointFriction(_native); }
set { btMultibodyLink_setJointFriction(_native, value); }
get => btMultibodyLink_getJointFriction(Native);
set => btMultibodyLink_setJointFriction(Native, value);
}
/*
/*
public char JointName
{
get { return btMultibodyLink_getJointName(_native); }
@ -264,180 +263,52 @@ namespace BulletSharp
{
get { return btMultibodyLink_getJointTorque(_native); }
}
*/
*/
public FeatherstoneJointType JointType
{
get { return btMultibodyLink_getJointType(_native); }
set { btMultibodyLink_setJointType(_native, value); }
get => btMultibodyLink_getJointType(Native);
set => btMultibodyLink_setJointType(Native, value);
}
/*
/*
public char LinkName
{
get { return btMultibodyLink_getLinkName(_native); }
set { btMultibodyLink_setLinkName(_native, value._native); }
}
*/
*/
public float Mass
{
get { return btMultibodyLink_getMass(_native); }
set { btMultibodyLink_setMass(_native, value); }
get => btMultibodyLink_getMass(Native);
set => btMultibodyLink_setMass(Native, value);
}
public int Parent
{
get { return btMultibodyLink_getParent(_native); }
set { btMultibodyLink_setParent(_native, value); }
get => btMultibodyLink_getParent(Native);
set => btMultibodyLink_setParent(Native, value);
}
public int PosVarCount
{
get { return btMultibodyLink_getPosVarCount(_native); }
set { btMultibodyLink_setPosVarCount(_native, value); }
get => btMultibodyLink_getPosVarCount(Native);
set => btMultibodyLink_setPosVarCount(Native, value);
}
public IntPtr UserPtr
{
get { return btMultibodyLink_getUserPtr(_native); }
set { btMultibodyLink_setUserPtr(_native, value); }
get => btMultibodyLink_getUserPtr(Native);
set => btMultibodyLink_setUserPtr(Native, value);
}
public Quaternion ZeroRotParentToThis
{
get
{
Quaternion value;
btMultibodyLink_getZeroRotParentToThis(_native, out value);
btMultibodyLink_getZeroRotParentToThis(Native, out value);
return value;
}
set { btMultibodyLink_setZeroRotParentToThis(_native, ref value); }
set => btMultibodyLink_setZeroRotParentToThis(Native, ref value);
}
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getAbsFrameLocVelocity(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getAbsFrameTotVelocity(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getAppliedConstraintForce(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getAppliedConstraintTorque(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getAppliedForce(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getAppliedTorque(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultibodyLink_getAxes(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getAxisBottom(IntPtr obj, int dof, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getAxisTop(IntPtr obj, int dof, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getCachedRotParentToThis(IntPtr obj, out Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getCachedRVector(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getCachedWorldTransform(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultibodyLink_getCfgOffset(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultibodyLink_getCollider(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultibodyLink_getDofCount(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultibodyLink_getDofOffset(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getDVector(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getEVector(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultibodyLink_getFlags(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getInertiaLocal(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultibodyLink_getJointDamping(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultibodyLink_getJointFeedback(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultibodyLink_getJointFriction(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultibodyLink_getJointName(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultibodyLink_getJointPos(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultibodyLink_getJointTorque(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern FeatherstoneJointType btMultibodyLink_getJointType(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultibodyLink_getLinkName(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultibodyLink_getMass(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultibodyLink_getParent(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultibodyLink_getPosVarCount(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_getZeroRotParentToThis(IntPtr obj, out Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultibodyLink_getUserPtr(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setAppliedConstraintForce(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setAppliedConstraintTorque(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setAppliedForce(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setAppliedTorque(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setAxisBottom(IntPtr obj, int dof, float x, float y, float z);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setAxisBottom2(IntPtr obj, int dof, [In] ref Vector3 axis);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setAxisTop(IntPtr obj, int dof, float x, float y, float z);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setAxisTop2(IntPtr obj, int dof, [In] ref Vector3 axis);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setCachedRotParentToThis(IntPtr obj, [In] ref Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setCachedRVector(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setCachedWorldTransform(IntPtr obj, [In] ref Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setCfgOffset(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setCollider(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setDofCount(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setDofOffset(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setDVector(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setEVector(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setFlags(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setInertiaLocal(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setJointDamping(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setJointFeedback(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setJointFriction(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setJointName(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setJointType(IntPtr obj, FeatherstoneJointType value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setLinkName(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setMass(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setParent(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setPosVarCount(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setZeroRotParentToThis(IntPtr obj, [In] ref Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_setUserPtr(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultibodyLink_updateCacheMultiDof(IntPtr obj, float[] pq);
}
}

Просмотреть файл

@ -7,7 +7,7 @@ namespace BulletSharp
private MultiBody _multiBody;
public MultiBodyLinkCollider(MultiBody multiBody, int link)
: base(btMultiBodyLinkCollider_new(multiBody._native, link))
: base(btMultiBodyLinkCollider_new(multiBody.Native, link))
{
_multiBody = multiBody;
}
@ -28,7 +28,7 @@ namespace BulletSharp
get => _multiBody;
set
{
btMultiBodyLinkCollider_setMultiBody(Native, value._native);
btMultiBodyLinkCollider_setMultiBody(Native, value.Native);
_multiBody = value;
}
}

Просмотреть файл

@ -1,32 +1,23 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using BulletSharp.Math;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
public class MultiBodyPoint2Point : MultiBodyConstraint
{
internal MultiBodyPoint2Point(IntPtr native)
: base(native)
public MultiBodyPoint2Point(MultiBody body, int link, RigidBody bodyB, Vector3 pivotInA,
Vector3 pivotInB)
: base(btMultiBodyPoint2Point_new(body.Native, link, bodyB != null ? bodyB.Native : IntPtr.Zero,
ref pivotInA, ref pivotInB), body, null)
{
}
public MultiBodyPoint2Point(MultiBody body, int link, RigidBody bodyB, Vector3 pivotInA,
Vector3 pivotInB)
: base(btMultiBodyPoint2Point_new(body._native, link, bodyB != null ? bodyB.Native : IntPtr.Zero,
ref pivotInA, ref pivotInB))
{
_multiBodyA = body;
}
public MultiBodyPoint2Point(MultiBody bodyA, int linkA, MultiBody bodyB,
int linkB, Vector3 pivotInA, Vector3 pivotInB)
: base(btMultiBodyPoint2Point_new2(bodyA._native, linkA, bodyB._native,
linkB, ref pivotInA, ref pivotInB))
: base(btMultiBodyPoint2Point_new2(bodyA.Native, linkA, bodyB.Native,
linkB, ref pivotInA, ref pivotInB), bodyA, bodyB)
{
_multiBodyA = bodyA;
_multiBodyB = bodyB;
}
public Vector3 PivotInB
@ -34,19 +25,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodyPoint2Point_getPivotInB(_native, out value);
btMultiBodyPoint2Point_getPivotInB(Native, out value);
return value;
}
set { btMultiBodyPoint2Point_setPivotInB(_native, ref value); }
set => btMultiBodyPoint2Point_setPivotInB(Native, ref value);
}
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyPoint2Point_new(IntPtr body, int link, IntPtr bodyB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodyPoint2Point_new2(IntPtr bodyA, int linkA, IntPtr bodyB, int linkB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyPoint2Point_getPivotInB(IntPtr obj, out Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodyPoint2Point_setPivotInB(IntPtr obj, [In] ref Vector3 pivotInB);
}
}

Просмотреть файл

@ -1,29 +1,22 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using BulletSharp.Math;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
public class MultiBodySliderConstraint : MultiBodyConstraint
{
internal MultiBodySliderConstraint(IntPtr native)
: base(native)
{
}
public MultiBodySliderConstraint(MultiBody body, int link, RigidBody bodyB,
Vector3 pivotInA, Vector3 pivotInB, Matrix frameInA, Matrix frameInB, Vector3 jointAxis)
: base(btMultiBodySliderConstraint_new(body._native, link, bodyB.Native,
ref pivotInA, ref pivotInB, ref frameInA, ref frameInB, ref jointAxis))
: base(btMultiBodySliderConstraint_new(body.Native, link, bodyB.Native,
ref pivotInA, ref pivotInB, ref frameInA, ref frameInB, ref jointAxis), body, null)
{
}
public MultiBodySliderConstraint(MultiBody bodyA, int linkA, MultiBody bodyB,
int linkB, Vector3 pivotInA, Vector3 pivotInB, Matrix frameInA, Matrix frameInB,
Vector3 jointAxis)
: base(btMultiBodySliderConstraint_new2(bodyA._native, linkA, bodyB._native,
linkB, ref pivotInA, ref pivotInB, ref frameInA, ref frameInB, ref jointAxis))
: base(btMultiBodySliderConstraint_new2(bodyA.Native, linkA, bodyB.Native,
linkB, ref pivotInA, ref pivotInB, ref frameInA, ref frameInB, ref jointAxis), bodyA, bodyB)
{
}
@ -32,10 +25,10 @@ namespace BulletSharp
get
{
Matrix value;
btMultiBodySliderConstraint_getFrameInA(_native, out value);
btMultiBodySliderConstraint_getFrameInA(Native, out value);
return value;
}
set { btMultiBodySliderConstraint_setFrameInA(_native, ref value); }
set => btMultiBodySliderConstraint_setFrameInA(Native, ref value);
}
public Matrix FrameInB
@ -43,10 +36,10 @@ namespace BulletSharp
get
{
Matrix value;
btMultiBodySliderConstraint_getFrameInB(_native, out value);
btMultiBodySliderConstraint_getFrameInB(Native, out value);
return value;
}
set { btMultiBodySliderConstraint_setFrameInB(_native, ref value); }
set => btMultiBodySliderConstraint_setFrameInB(Native, ref value);
}
public Vector3 JointAxis
@ -54,10 +47,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySliderConstraint_getJointAxis(_native, out value);
btMultiBodySliderConstraint_getJointAxis(Native, out value);
return value;
}
set { btMultiBodySliderConstraint_setJointAxis(_native, ref value); }
set => btMultiBodySliderConstraint_setJointAxis(Native, ref value);
}
public Vector3 PivotInA
@ -65,10 +58,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySliderConstraint_getPivotInA(_native, out value);
btMultiBodySliderConstraint_getPivotInA(Native, out value);
return value;
}
set { btMultiBodySliderConstraint_setPivotInA(_native, ref value); }
set => btMultiBodySliderConstraint_setPivotInA(Native, ref value);
}
public Vector3 PivotInB
@ -76,35 +69,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySliderConstraint_getPivotInB(_native, out value);
btMultiBodySliderConstraint_getPivotInB(Native, out value);
return value;
}
set { btMultiBodySliderConstraint_setPivotInB(_native, ref value); }
set => btMultiBodySliderConstraint_setPivotInB(Native, ref value);
}
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodySliderConstraint_new(IntPtr body, int link, IntPtr bodyB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB, [In] ref Matrix frameInA, [In] ref Matrix frameInB, [In] ref Vector3 jointAxis);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodySliderConstraint_new2(IntPtr bodyA, int linkA, IntPtr bodyB, int linkB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB, [In] ref Matrix frameInA, [In] ref Matrix frameInB, [In] ref Vector3 jointAxis);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_getFrameInA(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_getFrameInB(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_getJointAxis(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_getPivotInA(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_getPivotInB(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_setFrameInA(IntPtr obj, [In] ref Matrix frameInA);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_setFrameInB(IntPtr obj, [In] ref Matrix frameInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_setJointAxis(IntPtr obj, [In] ref Vector3 jointAxis);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_setPivotInA(IntPtr obj, [In] ref Vector3 pivotInA);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySliderConstraint_setPivotInB(IntPtr obj, [In] ref Vector3 pivotInB);
}
}

Просмотреть файл

@ -1,25 +1,19 @@
using System;
using System.Runtime.InteropServices;
using System.Security;
using BulletSharp.Math;
using static BulletSharp.UnsafeNativeMethods;
namespace BulletSharp
{
public class MultiBodySolverConstraint : IDisposable
{
internal IntPtr _native;
internal IntPtr Native;
protected MultiBody _multiBodyA;
protected MultiBody _multiBodyB;
internal MultiBodySolverConstraint(IntPtr native)
{
_native = native;
}
protected MultiBody _multiBodyA;
protected MultiBody _multiBodyB;
public MultiBodySolverConstraint()
{
_native = btMultiBodySolverConstraint_new();
Native = btMultiBodySolverConstraint_new();
}
public Vector3 AngularComponentA
@ -27,10 +21,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySolverConstraint_getAngularComponentA(_native, out value);
btMultiBodySolverConstraint_getAngularComponentA(Native, out value);
return value;
}
set { btMultiBodySolverConstraint_setAngularComponentA(_native, ref value); }
set => btMultiBodySolverConstraint_setAngularComponentA(Native, ref value);
}
public Vector3 AngularComponentB
@ -38,28 +32,28 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySolverConstraint_getAngularComponentB(_native, out value);
btMultiBodySolverConstraint_getAngularComponentB(Native, out value);
return value;
}
set { btMultiBodySolverConstraint_setAngularComponentB(_native, ref value); }
set => btMultiBodySolverConstraint_setAngularComponentB(Native, ref value);
}
public float AppliedImpulse
{
get { return btMultiBodySolverConstraint_getAppliedImpulse(_native); }
set { btMultiBodySolverConstraint_setAppliedImpulse(_native, value); }
get => btMultiBodySolverConstraint_getAppliedImpulse(Native);
set => btMultiBodySolverConstraint_setAppliedImpulse(Native, value);
}
public float AppliedPushImpulse
{
get { return btMultiBodySolverConstraint_getAppliedPushImpulse(_native); }
set { btMultiBodySolverConstraint_setAppliedPushImpulse(_native, value); }
get => btMultiBodySolverConstraint_getAppliedPushImpulse(Native);
set => btMultiBodySolverConstraint_setAppliedPushImpulse(Native, value);
}
public float Cfm
{
get { return btMultiBodySolverConstraint_getCfm(_native); }
set { btMultiBodySolverConstraint_setCfm(_native, value); }
get => btMultiBodySolverConstraint_getCfm(Native);
set => btMultiBodySolverConstraint_setCfm(Native, value);
}
public Vector3 ContactNormal1
@ -67,10 +61,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySolverConstraint_getContactNormal1(_native, out value);
btMultiBodySolverConstraint_getContactNormal1(Native, out value);
return value;
}
set { btMultiBodySolverConstraint_setContactNormal1(_native, ref value); }
set => btMultiBodySolverConstraint_setContactNormal1(Native, ref value);
}
public Vector3 ContactNormal2
@ -78,128 +72,128 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySolverConstraint_getContactNormal2(_native, out value);
btMultiBodySolverConstraint_getContactNormal2(Native, out value);
return value;
}
set { btMultiBodySolverConstraint_setContactNormal2(_native, ref value); }
set => btMultiBodySolverConstraint_setContactNormal2(Native, ref value);
}
public int DeltaVelAindex
{
get { return btMultiBodySolverConstraint_getDeltaVelAindex(_native); }
set { btMultiBodySolverConstraint_setDeltaVelAindex(_native, value); }
get => btMultiBodySolverConstraint_getDeltaVelAindex(Native);
set => btMultiBodySolverConstraint_setDeltaVelAindex(Native, value);
}
public int DeltaVelBindex
{
get { return btMultiBodySolverConstraint_getDeltaVelBindex(_native); }
set { btMultiBodySolverConstraint_setDeltaVelBindex(_native, value); }
get => btMultiBodySolverConstraint_getDeltaVelBindex(Native);
set => btMultiBodySolverConstraint_setDeltaVelBindex(Native, value);
}
public float Friction
{
get { return btMultiBodySolverConstraint_getFriction(_native); }
set { btMultiBodySolverConstraint_setFriction(_native, value); }
get => btMultiBodySolverConstraint_getFriction(Native);
set => btMultiBodySolverConstraint_setFriction(Native, value);
}
public int FrictionIndex
{
get { return btMultiBodySolverConstraint_getFrictionIndex(_native); }
set { btMultiBodySolverConstraint_setFrictionIndex(_native, value); }
get => btMultiBodySolverConstraint_getFrictionIndex(Native);
set => btMultiBodySolverConstraint_setFrictionIndex(Native, value);
}
public int JacAindex
{
get { return btMultiBodySolverConstraint_getJacAindex(_native); }
set { btMultiBodySolverConstraint_setJacAindex(_native, value); }
get => btMultiBodySolverConstraint_getJacAindex(Native);
set => btMultiBodySolverConstraint_setJacAindex(Native, value);
}
public int JacBindex
{
get { return btMultiBodySolverConstraint_getJacBindex(_native); }
set { btMultiBodySolverConstraint_setJacBindex(_native, value); }
get => btMultiBodySolverConstraint_getJacBindex(Native);
set => btMultiBodySolverConstraint_setJacBindex(Native, value);
}
public float JacDiagABInv
{
get { return btMultiBodySolverConstraint_getJacDiagABInv(_native); }
set { btMultiBodySolverConstraint_setJacDiagABInv(_native, value); }
get => btMultiBodySolverConstraint_getJacDiagABInv(Native);
set => btMultiBodySolverConstraint_setJacDiagABInv(Native, value);
}
public int LinkA
{
get { return btMultiBodySolverConstraint_getLinkA(_native); }
set { btMultiBodySolverConstraint_setLinkA(_native, value); }
get => btMultiBodySolverConstraint_getLinkA(Native);
set => btMultiBodySolverConstraint_setLinkA(Native, value);
}
public int LinkB
{
get { return btMultiBodySolverConstraint_getLinkB(_native); }
set { btMultiBodySolverConstraint_setLinkB(_native, value); }
get => btMultiBodySolverConstraint_getLinkB(Native);
set => btMultiBodySolverConstraint_setLinkB(Native, value);
}
public float LowerLimit
{
get { return btMultiBodySolverConstraint_getLowerLimit(_native); }
set { btMultiBodySolverConstraint_setLowerLimit(_native, value); }
get => btMultiBodySolverConstraint_getLowerLimit(Native);
set => btMultiBodySolverConstraint_setLowerLimit(Native, value);
}
public MultiBody MultiBodyA
{
get
{
if (_multiBodyA == null)
{
_multiBodyA = new MultiBody(btMultiBodySolverConstraint_getMultiBodyA(_native));
}
return _multiBodyA;
}
get
{
if (_multiBodyA == null)
{
_multiBodyA = new MultiBody(btMultiBodySolverConstraint_getMultiBodyA(Native));
}
return _multiBodyA;
}
set
{
btMultiBodySolverConstraint_setMultiBodyA(_native, value._native);
btMultiBodySolverConstraint_setMultiBodyA(Native, value.Native);
_multiBodyA = value;
}
}
public MultiBody MultiBodyB
{
get
{
if (_multiBodyB == null)
{
_multiBodyB = new MultiBody(btMultiBodySolverConstraint_getMultiBodyB(_native));
}
return _multiBodyB;
}
get
{
if (_multiBodyB == null)
{
_multiBodyB = new MultiBody(btMultiBodySolverConstraint_getMultiBodyB(Native));
}
return _multiBodyB;
}
set
{
btMultiBodySolverConstraint_setMultiBodyB(_native, value._native);
btMultiBodySolverConstraint_setMultiBodyB(Native, value.Native);
_multiBodyB = value;
}
}
/*
/*
public MultiBodyConstraint OrgConstraint
{
get { return btMultiBodySolverConstraint_getOrgConstraint(_native); }
set { btMultiBodySolverConstraint_setOrgConstraint(_native, value._native); }
}
*/
*/
public int OrgDofIndex
{
get { return btMultiBodySolverConstraint_getOrgDofIndex(_native); }
set { btMultiBodySolverConstraint_setOrgDofIndex(_native, value); }
get => btMultiBodySolverConstraint_getOrgDofIndex(Native);
set => btMultiBodySolverConstraint_setOrgDofIndex(Native, value);
}
public IntPtr OriginalContactPoint
{
get { return btMultiBodySolverConstraint_getOriginalContactPoint(_native); }
set { btMultiBodySolverConstraint_setOriginalContactPoint(_native, value); }
get => btMultiBodySolverConstraint_getOriginalContactPoint(Native);
set => btMultiBodySolverConstraint_setOriginalContactPoint(Native, value);
}
public int OverrideNumSolverIterations
{
get { return btMultiBodySolverConstraint_getOverrideNumSolverIterations(_native); }
set { btMultiBodySolverConstraint_setOverrideNumSolverIterations(_native, value); }
get => btMultiBodySolverConstraint_getOverrideNumSolverIterations(Native);
set => btMultiBodySolverConstraint_setOverrideNumSolverIterations(Native, value);
}
public Vector3 Relpos1CrossNormal
@ -207,10 +201,10 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySolverConstraint_getRelpos1CrossNormal(_native, out value);
btMultiBodySolverConstraint_getRelpos1CrossNormal(Native, out value);
return value;
}
set { btMultiBodySolverConstraint_setRelpos1CrossNormal(_native, ref value); }
set => btMultiBodySolverConstraint_setRelpos1CrossNormal(Native, ref value);
}
public Vector3 Relpos2CrossNormal
@ -218,46 +212,46 @@ namespace BulletSharp
get
{
Vector3 value;
btMultiBodySolverConstraint_getRelpos2CrossNormal(_native, out value);
btMultiBodySolverConstraint_getRelpos2CrossNormal(Native, out value);
return value;
}
set { btMultiBodySolverConstraint_setRelpos2CrossNormal(_native, ref value); }
set => btMultiBodySolverConstraint_setRelpos2CrossNormal(Native, ref value);
}
public float Rhs
{
get { return btMultiBodySolverConstraint_getRhs(_native); }
set { btMultiBodySolverConstraint_setRhs(_native, value); }
get => btMultiBodySolverConstraint_getRhs(Native);
set => btMultiBodySolverConstraint_setRhs(Native, value);
}
public float RhsPenetration
{
get { return btMultiBodySolverConstraint_getRhsPenetration(_native); }
set { btMultiBodySolverConstraint_setRhsPenetration(_native, value); }
get => btMultiBodySolverConstraint_getRhsPenetration(Native);
set => btMultiBodySolverConstraint_setRhsPenetration(Native, value);
}
public int SolverBodyIdA
{
get { return btMultiBodySolverConstraint_getSolverBodyIdA(_native); }
set { btMultiBodySolverConstraint_setSolverBodyIdA(_native, value); }
get => btMultiBodySolverConstraint_getSolverBodyIdA(Native);
set => btMultiBodySolverConstraint_setSolverBodyIdA(Native, value);
}
public int SolverBodyIdB
{
get { return btMultiBodySolverConstraint_getSolverBodyIdB(_native); }
set { btMultiBodySolverConstraint_setSolverBodyIdB(_native, value); }
get => btMultiBodySolverConstraint_getSolverBodyIdB(Native);
set => btMultiBodySolverConstraint_setSolverBodyIdB(Native, value);
}
public float UnusedPadding4
{
get { return btMultiBodySolverConstraint_getUnusedPadding4(_native); }
set { btMultiBodySolverConstraint_setUnusedPadding4(_native, value); }
get => btMultiBodySolverConstraint_getUnusedPadding4(Native);
set => btMultiBodySolverConstraint_setUnusedPadding4(Native, value);
}
public float UpperLimit
{
get { return btMultiBodySolverConstraint_getUpperLimit(_native); }
set { btMultiBodySolverConstraint_setUpperLimit(_native, value); }
get => btMultiBodySolverConstraint_getUpperLimit(Native);
set => btMultiBodySolverConstraint_setUpperLimit(Native, value);
}
public void Dispose()
@ -268,10 +262,10 @@ namespace BulletSharp
protected virtual void Dispose(bool disposing)
{
if (_native != IntPtr.Zero)
if (Native != IntPtr.Zero)
{
btMultiBodySolverConstraint_delete(_native);
_native = IntPtr.Zero;
btMultiBodySolverConstraint_delete(Native);
Native = IntPtr.Zero;
}
}
@ -279,134 +273,5 @@ namespace BulletSharp
{
Dispose(false);
}
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodySolverConstraint_new();
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_getAngularComponentA(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_getAngularComponentB(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getAppliedImpulse(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getAppliedPushImpulse(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getCfm(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_getContactNormal1(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_getContactNormal2(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getDeltaVelAindex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getDeltaVelBindex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getFriction(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getFrictionIndex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getJacAindex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getJacBindex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getJacDiagABInv(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getLinkA(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getLinkB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getLowerLimit(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodySolverConstraint_getMultiBodyA(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodySolverConstraint_getMultiBodyB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodySolverConstraint_getOrgConstraint(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getOrgDofIndex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern IntPtr btMultiBodySolverConstraint_getOriginalContactPoint(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getOverrideNumSolverIterations(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_getRelpos1CrossNormal(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_getRelpos2CrossNormal(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getRhs(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getRhsPenetration(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getSolverBodyIdA(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern int btMultiBodySolverConstraint_getSolverBodyIdB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getUnusedPadding4(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern float btMultiBodySolverConstraint_getUpperLimit(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setAngularComponentA(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setAngularComponentB(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setAppliedImpulse(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setAppliedPushImpulse(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setCfm(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setContactNormal1(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setContactNormal2(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setDeltaVelAindex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setDeltaVelBindex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setFriction(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setFrictionIndex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setJacAindex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setJacBindex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setJacDiagABInv(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setLinkA(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setLinkB(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setLowerLimit(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setMultiBodyA(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setMultiBodyB(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setOrgConstraint(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setOrgDofIndex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setOriginalContactPoint(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setOverrideNumSolverIterations(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setRelpos1CrossNormal(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setRelpos2CrossNormal(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setRhs(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setRhsPenetration(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setSolverBodyIdA(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setSolverBodyIdB(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setUnusedPadding4(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_setUpperLimit(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv), SuppressUnmanagedCodeSecurity]
static extern void btMultiBodySolverConstraint_delete(IntPtr obj);
}
}

Просмотреть файл

@ -3067,6 +3067,51 @@ namespace BulletSharp
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMLCPSolver_setNumFallbacks(IntPtr obj, int num);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyConstraintSolver_new();
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodyConstraintSolver_solveGroupCacheFriendlyFinish(IntPtr obj, IntPtr bodies, int numBodies, IntPtr infoGlobal);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraintSolver_solveMultiBodyGroup(IntPtr obj, IntPtr bodies, int numBodies, IntPtr manifold, int numManifolds, IntPtr constraints, int numConstraints, IntPtr multiBodyConstraints, int numMultiBodyConstraints, IntPtr info, IntPtr debugDrawer, IntPtr dispatcher);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_allocateJacobiansMultiDof(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_createConstraintRows(IntPtr obj, IntPtr constraintRows, IntPtr data, IntPtr infoGlobal);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_debugDraw(IntPtr obj, IntPtr drawer);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_finalizeMultiDof(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodyConstraint_getAppliedImpulse(IntPtr obj, int dof);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodyConstraint_getIslandIdA(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodyConstraint_getIslandIdB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodyConstraint_getMaxAppliedImpulse(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodyConstraint_getNumRows(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodyConstraint_getPosition(IntPtr obj, int row);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_internalSetAppliedImpulse(IntPtr obj, int dof, float appliedImpulse);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBodyConstraint_isUnilateral(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyConstraint_jacobianA(IntPtr obj, int row);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyConstraint_jacobianB(IntPtr obj, int row);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_setMaxAppliedImpulse(IntPtr obj, float maxImp);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_setPosition(IntPtr obj, int row, float pos);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_updateJacobianSizes(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyConstraint_delete(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyDynamicsWorld_new(IntPtr dispatcher, IntPtr pairCache, IntPtr constraintSolver, IntPtr collisionConfiguration);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
@ -3090,6 +3135,37 @@ namespace BulletSharp
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyDynamicsWorld_removeMultiBodyConstraint(IntPtr obj, IntPtr constraint);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyFixedConstraint_new(IntPtr body, int link, IntPtr bodyB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB, [In] ref Matrix frameInA, [In] ref Matrix frameInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyFixedConstraint_new2(IntPtr bodyA, int linkA, IntPtr bodyB, int linkB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB, [In] ref Matrix frameInA, [In] ref Matrix frameInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyFixedConstraint_getFrameInA(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyFixedConstraint_getFrameInB(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyFixedConstraint_getPivotInA(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyFixedConstraint_getPivotInB(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyFixedConstraint_setFrameInA(IntPtr obj, [In] ref Matrix frameInA);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyFixedConstraint_setFrameInB(IntPtr obj, [In] ref Matrix frameInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyFixedConstraint_setPivotInA(IntPtr obj, [In] ref Vector3 pivotInA);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyFixedConstraint_setPivotInB(IntPtr obj, [In] ref Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyJointLimitConstraint_new(IntPtr body, int link, float lower, float upper);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyJointMotor_new(IntPtr body, int link, float desiredVelocity, float maxMotorImpulse);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyJointMotor_new2(IntPtr body, int link, int linkDoF, float desiredVelocity, float maxMotorImpulse);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyJointMotor_setVelocityTarget(IntPtr obj, float velTarget);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyLinkCollider_new(IntPtr multiBody, int link);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
@ -3103,6 +3179,546 @@ namespace BulletSharp
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyLinkCollider_upcast(IntPtr colObj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getAbsFrameLocVelocity(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getAbsFrameTotVelocity(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getAppliedConstraintForce(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getAppliedConstraintTorque(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getAppliedForce(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getAppliedTorque(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultibodyLink_getAxes(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getAxisBottom(IntPtr obj, int dof, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getAxisTop(IntPtr obj, int dof, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getCachedRotParentToThis(IntPtr obj, out Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getCachedRVector(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getCachedWorldTransform(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultibodyLink_getCfgOffset(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultibodyLink_getCollider(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultibodyLink_getDofCount(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultibodyLink_getDofOffset(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getDVector(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getEVector(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultibodyLink_getFlags(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getInertiaLocal(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultibodyLink_getJointDamping(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultibodyLink_getJointFeedback(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultibodyLink_getJointFriction(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultibodyLink_getJointName(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultibodyLink_getJointPos(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultibodyLink_getJointTorque(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern FeatherstoneJointType btMultibodyLink_getJointType(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultibodyLink_getLinkName(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultibodyLink_getMass(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultibodyLink_getParent(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultibodyLink_getPosVarCount(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_getZeroRotParentToThis(IntPtr obj, out Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultibodyLink_getUserPtr(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setAppliedConstraintForce(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setAppliedConstraintTorque(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setAppliedForce(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setAppliedTorque(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setAxisBottom(IntPtr obj, int dof, float x, float y, float z);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setAxisBottom2(IntPtr obj, int dof, [In] ref Vector3 axis);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setAxisTop(IntPtr obj, int dof, float x, float y, float z);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setAxisTop2(IntPtr obj, int dof, [In] ref Vector3 axis);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setCachedRotParentToThis(IntPtr obj, [In] ref Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setCachedRVector(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setCachedWorldTransform(IntPtr obj, [In] ref Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setCfgOffset(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setCollider(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setDofCount(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setDofOffset(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setDVector(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setEVector(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setFlags(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setInertiaLocal(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setJointDamping(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setJointFeedback(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setJointFriction(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setJointName(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setJointType(IntPtr obj, FeatherstoneJointType value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setLinkName(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setMass(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setParent(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setPosVarCount(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setZeroRotParentToThis(IntPtr obj, [In] ref Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_setUserPtr(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultibodyLink_updateCacheMultiDof(IntPtr obj, float[] pq);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyPoint2Point_new(IntPtr body, int link, IntPtr bodyB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodyPoint2Point_new2(IntPtr bodyA, int linkA, IntPtr bodyB, int linkB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyPoint2Point_getPivotInB(IntPtr obj, out Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodyPoint2Point_setPivotInB(IntPtr obj, [In] ref Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodySliderConstraint_new(IntPtr body, int link, IntPtr bodyB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB, [In] ref Matrix frameInA, [In] ref Matrix frameInB, [In] ref Vector3 jointAxis);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodySliderConstraint_new2(IntPtr bodyA, int linkA, IntPtr bodyB, int linkB, [In] ref Vector3 pivotInA, [In] ref Vector3 pivotInB, [In] ref Matrix frameInA, [In] ref Matrix frameInB, [In] ref Vector3 jointAxis);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_getFrameInA(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_getFrameInB(IntPtr obj, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_getJointAxis(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_getPivotInA(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_getPivotInB(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_setFrameInA(IntPtr obj, [In] ref Matrix frameInA);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_setFrameInB(IntPtr obj, [In] ref Matrix frameInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_setJointAxis(IntPtr obj, [In] ref Vector3 jointAxis);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_setPivotInA(IntPtr obj, [In] ref Vector3 pivotInA);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySliderConstraint_setPivotInB(IntPtr obj, [In] ref Vector3 pivotInB);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodySolverConstraint_new();
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_getAngularComponentA(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_getAngularComponentB(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getAppliedImpulse(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getAppliedPushImpulse(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getCfm(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_getContactNormal1(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_getContactNormal2(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getDeltaVelAindex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getDeltaVelBindex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getFriction(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getFrictionIndex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getJacAindex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getJacBindex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getJacDiagABInv(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getLinkA(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getLinkB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getLowerLimit(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodySolverConstraint_getMultiBodyA(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodySolverConstraint_getMultiBodyB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodySolverConstraint_getOrgConstraint(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getOrgDofIndex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBodySolverConstraint_getOriginalContactPoint(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getOverrideNumSolverIterations(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_getRelpos1CrossNormal(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_getRelpos2CrossNormal(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getRhs(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getRhsPenetration(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getSolverBodyIdA(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBodySolverConstraint_getSolverBodyIdB(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getUnusedPadding4(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBodySolverConstraint_getUpperLimit(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setAngularComponentA(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setAngularComponentB(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setAppliedImpulse(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setAppliedPushImpulse(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setCfm(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setContactNormal1(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setContactNormal2(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setDeltaVelAindex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setDeltaVelBindex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setFriction(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setFrictionIndex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setJacAindex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setJacBindex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setJacDiagABInv(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setLinkA(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setLinkB(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setLowerLimit(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setMultiBodyA(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setMultiBodyB(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setOrgConstraint(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setOrgDofIndex(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setOriginalContactPoint(IntPtr obj, IntPtr value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setOverrideNumSolverIterations(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setRelpos1CrossNormal(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setRelpos2CrossNormal(IntPtr obj, [In] ref Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setRhs(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setRhsPenetration(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setSolverBodyIdA(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setSolverBodyIdB(IntPtr obj, int value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setUnusedPadding4(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_setUpperLimit(IntPtr obj, float value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBodySolverConstraint_delete(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_new(int n_links, float mass, [In] ref Vector3 inertia, bool fixedBase, bool canSleep);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addBaseConstraintForce(IntPtr obj, [In] ref Vector3 f);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addBaseConstraintTorque(IntPtr obj, [In] ref Vector3 t);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addBaseForce(IntPtr obj, [In] ref Vector3 f);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addBaseTorque(IntPtr obj, [In] ref Vector3 t);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addJointTorque(IntPtr obj, int i, float Q);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addJointTorqueMultiDof(IntPtr obj, int i, float[] Q);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addJointTorqueMultiDof2(IntPtr obj, int i, int dof, float Q);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addLinkConstraintForce(IntPtr obj, int i, [In] ref Vector3 f);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addLinkConstraintTorque(IntPtr obj, int i, [In] ref Vector3 t);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addLinkForce(IntPtr obj, int i, [In] ref Vector3 f);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_addLinkTorque(IntPtr obj, int i, [In] ref Vector3 t);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_applyDeltaVeeMultiDof(IntPtr obj, float[] delta_vee, float multiplier);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_applyDeltaVeeMultiDof2(IntPtr obj, float[] delta_vee, float multiplier);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_calcAccelerationDeltasMultiDof(IntPtr obj, float[] force, float[] output, IntPtr scratch_r, IntPtr scratch_v);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBody_calculateSerializeBufferSize(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_checkMotionAndSleepIfRequired(IntPtr obj, float timestep);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_clearConstraintForces(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_clearForcesAndTorques(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_clearVelocities(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_computeAccelerationsArticulatedBodyAlgorithmMultiDof(IntPtr obj, float dt, IntPtr scratch_r, IntPtr scratch_v, IntPtr scratch_m, bool isConstraintPass);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_fillConstraintJacobianMultiDof(IntPtr obj, int link, [In] ref Vector3 contact_point, [In] ref Vector3 normal_ang, [In] ref Vector3 normal_lin, float[] jac, IntPtr scratch_r, IntPtr scratch_v, IntPtr scratch_m);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_fillContactJacobianMultiDof(IntPtr obj, int link, [In] ref Vector3 contact_point, [In] ref Vector3 normal, float[] jac, IntPtr scratch_r, IntPtr scratch_v, IntPtr scratch_m);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_finalizeMultiDof(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_forwardKinematics(IntPtr obj, IntPtr scratch_q, IntPtr scratch_m);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getAngularDamping(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getAngularMomentum(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_getBaseCollider(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getBaseForce(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getBaseInertia(IntPtr obj, out Vector3 inertia);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getBaseMass(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_getBaseName(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getBaseOmega(IntPtr obj, out Vector3 omega);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getBasePos(IntPtr obj, out Vector3 pos);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getBaseTorque(IntPtr obj, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getBaseVel(IntPtr obj, out Vector3 vel);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getBaseWorldTransform(IntPtr obj, out Matrix tr);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_getCanSleep(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBody_getCompanionId(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getJointPos(IntPtr obj, int i);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_getJointPosMultiDof(IntPtr obj, int i);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getJointTorque(IntPtr obj, int i);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_getJointTorqueMultiDof(IntPtr obj, int i);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getJointVel(IntPtr obj, int i);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_getJointVelMultiDof(IntPtr obj, int i);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getKineticEnergy(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getLinearDamping(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_getLink(IntPtr obj, int index);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getLinkForce(IntPtr obj, int i, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getLinkInertia(IntPtr obj, int i, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getLinkMass(IntPtr obj, int i);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getLinkTorque(IntPtr obj, int i, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getMaxAppliedImpulse(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern float btMultiBody_getMaxCoordinateVelocity(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBody_getNumDofs(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBody_getNumLinks(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBody_getNumPosVars(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBody_getParent(IntPtr obj, int link_num);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getParentToLocalRot(IntPtr obj, int i, out Quaternion value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getRVector(IntPtr obj, int i, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_getUseGyroTerm(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBody_getUserIndex(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern int btMultiBody_getUserIndex2(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_getUserPointer(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_getVelocityVector(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_getWorldToBaseRot(IntPtr obj, out Quaternion rot);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_goToSleep(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_hasFixedBase(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_hasSelfCollision(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_internalNeedsJointFeedback(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_isAwake(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_isPosUpdated(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_isUsingGlobalVelocities(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool btMultiBody_isUsingRK4Integration(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_localDirToWorld(IntPtr obj, int i, [In] ref Vector3 vec, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_localFrameToWorld(IntPtr obj, int i, [In] ref Matrix mat, out Matrix value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_localPosToWorld(IntPtr obj, int i, [In] ref Vector3 vec, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_processDeltaVeeMultiDof2(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultiBody_serialize(IntPtr obj, IntPtr dataBuffer, IntPtr serializer);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setAngularDamping(IntPtr obj, float damp);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setBaseCollider(IntPtr obj, IntPtr collider);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setBaseInertia(IntPtr obj, [In] ref Vector3 inertia);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setBaseMass(IntPtr obj, float mass);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setBaseName(IntPtr obj, IntPtr name);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setBaseOmega(IntPtr obj, [In] ref Vector3 omega);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setBasePos(IntPtr obj, [In] ref Vector3 pos);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setBaseVel(IntPtr obj, [In] ref Vector3 vel);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setBaseWorldTransform(IntPtr obj, [In] ref Matrix tr);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setCanSleep(IntPtr obj, bool canSleep);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setCompanionId(IntPtr obj, int id);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setHasSelfCollision(IntPtr obj, bool hasSelfCollision);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setJointPos(IntPtr obj, int i, float q);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setJointPosMultiDof(IntPtr obj, int i, float[] q);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setJointVel(IntPtr obj, int i, float qdot);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setJointVelMultiDof(IntPtr obj, int i, float[] qdot);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setLinearDamping(IntPtr obj, float damp);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setMaxAppliedImpulse(IntPtr obj, float maxImp);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setMaxCoordinateVelocity(IntPtr obj, float maxVel);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setNumLinks(IntPtr obj, int numLinks);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setPosUpdated(IntPtr obj, bool updated);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setupFixed(IntPtr obj, int linkIndex, float mass, [In] ref Vector3 inertia, int parent, [In] ref Quaternion rotParentToThis, [In] ref Vector3 parentComToThisPivotOffset, [In] ref Vector3 thisPivotToThisComOffset, bool deprecatedDisableParentCollision);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setupPlanar(IntPtr obj, int i, float mass, [In] ref Vector3 inertia, int parent, [In] ref Quaternion rotParentToThis, [In] ref Vector3 rotationAxis, [In] ref Vector3 parentComToThisComOffset, bool disableParentCollision);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setupPrismatic(IntPtr obj, int i, float mass, [In] ref Vector3 inertia, int parent, [In] ref Quaternion rotParentToThis, [In] ref Vector3 jointAxis, [In] ref Vector3 parentComToThisPivotOffset, [In] ref Vector3 thisPivotToThisComOffset, bool disableParentCollision);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setupRevolute(IntPtr obj, int linkIndex, float mass, [In] ref Vector3 inertia, int parentIndex, [In] ref Quaternion rotParentToThis, [In] ref Vector3 jointAxis, [In] ref Vector3 parentComToThisPivotOffset, [In] ref Vector3 thisPivotToThisComOffset, bool disableParentCollision);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setupSpherical(IntPtr obj, int linkIndex, float mass, [In] ref Vector3 inertia, int parent, [In] ref Quaternion rotParentToThis, [In] ref Vector3 parentComToThisPivotOffset, [In] ref Vector3 thisPivotToThisComOffset, bool disableParentCollision);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setUseGyroTerm(IntPtr obj, bool useGyro);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setUserIndex(IntPtr obj, int index);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setUserIndex2(IntPtr obj, int index);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setUserPointer(IntPtr obj, IntPtr userPointer);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_setWorldToBaseRot(IntPtr obj, [In] ref Quaternion rot);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_stepPositionsMultiDof(IntPtr obj, float dt, float[] pq, float[] pqd);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_stepVelocitiesMultiDof(IntPtr obj, float dt, IntPtr scratch_r, IntPtr scratch_v, IntPtr scratch_m, bool isConstraintPass);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_updateCollisionObjectWorldTransforms(IntPtr obj, IntPtr scratch_q, IntPtr scratch_m);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_useGlobalVelocities(IntPtr obj, bool use);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_useRK4Integration(IntPtr obj, bool use);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_wakeUp(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_worldDirToLocal(IntPtr obj, int i, [In] ref Vector3 vec, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_worldPosToLocal(IntPtr obj, int i, [In] ref Vector3 vec, out Vector3 value);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern void btMultiBody_delete(IntPtr obj);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]
public static extern IntPtr btMultimaterialTriangleMeshShape_new(IntPtr meshInterface, bool useQuantizedAabbCompression, bool buildBvh);
[DllImport(Native.Dll, CallingConvention = Native.Conv)]