18#ifndef BT_MULTIBODY_SPHERICAL_JOINT_MOTOR_H
19#define BT_MULTIBODY_SPHERICAL_JOINT_MOTOR_H
btAlignedObjectArray< btMultiBodySolverConstraint > btMultiBodyConstraintArray
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
btMultiBodyConstraint(btMultiBody *bodyA, btMultiBody *bodyB, int linkA, int linkB, int numRows, bool isUnilateral, int type)
virtual int getIslandIdA() const
btVector3 m_desiredVelocity
btVector3 m_maxAppliedImpulseMultiDof
void setMaxAppliedImpulseMultiDof(const btVector3 &maxImp)
virtual void setVelocityTarget(const btVector3 &velTarget, btScalar kd=1.0)
btMultiBodySphericalJointMotor(btMultiBody *body, int link, btScalar maxMotorImpulse)
This file was written by Erwin Coumans.
virtual void debugDraw(class btIDebugDraw *drawer)
virtual void setPositionTargetMultiDof(const btQuaternion &posTarget, const btVector3 &kp=btVector3(1.f, 1.f, 1.f))
virtual void finalizeMultiDof()
void setDamping(const btVector3 &damping)
virtual void createConstraintRows(btMultiBodyConstraintArray &constraintRows, btMultiBodyJacobianData &data, const btContactSolverInfo &infoGlobal)
virtual int getIslandIdB() const
btQuaternion m_desiredPosition
virtual void setVelocityTargetMultiDof(const btVector3 &velTarget, const btVector3 &kd=btVector3(1.0, 1.0, 1.0))
virtual void setErp(btScalar erp)
virtual btScalar getErp() const
virtual void setRhsClamp(btScalar rhsClamp)
bool m_use_multi_dof_params
btScalar getDamping(int i) const
virtual ~btMultiBodySphericalJointMotor()
virtual void setPositionTarget(const btQuaternion &posTarget, btScalar kp=1.f)
btScalar getMaxAppliedImpulseMultiDof(int i) const
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
btVector3 can be used to represent 3D points and vectors.