public abstract void AddConstraintRef(BulletBody obj, BulletConstraint constrain);
public abstract Vector3 SetAnisotripicFriction(BulletConstraint constrain, Vector3 frict);
public abstract bool HasAnisotripicFriction(BulletConstraint constrain);
public abstract bool RemoveConstraintFromWorld(BulletWorld world, BulletConstraint constrain);
// ===================================================================================== // btCollisionObject entries public abstract Vector3 GetAnisotripicFriction(BulletConstraint constrain);
public abstract void SetConstraintNumSolverIterations(BulletConstraint constrain, float iterations);
public abstract bool AddConstraintToWorld(BulletWorld world, BulletConstraint constrain, bool disableCollisionsBetweenLinkedObjects);
public abstract bool CalculateTransforms(BulletConstraint constrain);
public abstract bool SetConstraintParam(BulletConstraint constrain, ConstraintParams paramIndex, float value, ConstraintParamAxis axis);
public abstract bool TranslationalLimitMotor(BulletConstraint constrain, float enable, float targetVel, float maxMotorForce);
public abstract bool SetBreakingImpulseThreshold(BulletConstraint constrain, float threshold);
public abstract bool UseFrameOffset(BulletConstraint constrain, float enable);
public abstract bool SetAngularLimits(BulletConstraint constrain, Vector3 low, Vector3 hi);
public abstract bool SetFrames(BulletConstraint constrain, Vector3 frameA, Quaternion frameArot, Vector3 frameB, Quaternion frameBrot);
public abstract void RemoveConstraintRef(BulletBody obj, BulletConstraint constrain);
public abstract bool DestroyConstraint(BulletWorld world, BulletConstraint constrain);
public virtual void DumpConstraint(BulletWorld sim, BulletConstraint constrain) { }
public abstract void SetConstraintEnable(BulletConstraint constrain, float numericTrueFalse);