Constraint similar to ODE Universal Joint has 2 rotatioonal degrees of freedom, similar to Euler rotations around Z (axis 1) and Y (axis 2) Description from ODE manual : "Given axis 1 on body 1, and axis 2 on body 2 that is perpendicular to axis 1, it keeps them perpendicular.
More...
|
| BT_DECLARE_ALIGNED_ALLOCATOR () |
|
| btUniversalConstraint (btRigidBody &rbA, btRigidBody &rbB, const btVector3 &anchor, const btVector3 &axis1, const btVector3 &axis2) |
|
const btVector3 & | getAnchor () |
|
const btVector3 & | getAnchor2 () |
|
const btVector3 & | getAxis1 () |
|
const btVector3 & | getAxis2 () |
|
btScalar | getAngle1 () |
|
btScalar | getAngle2 () |
|
void | setUpperLimit (btScalar ang1max, btScalar ang2max) |
|
void | setLowerLimit (btScalar ang1min, btScalar ang2min) |
|
void | setAxis (const btVector3 &axis1, const btVector3 &axis2) |
|
| BT_DECLARE_ALIGNED_ALLOCATOR () |
|
| btGeneric6DofConstraint (btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, bool useLinearReferenceFrameA) |
|
| btGeneric6DofConstraint (btRigidBody &rbB, const btTransform &frameInB, bool useLinearReferenceFrameB) |
|
void | calculateTransforms (const btTransform &transA, const btTransform &transB) |
| Calcs global transform of the offsets. More...
|
|
void | calculateTransforms () |
|
const btTransform & | getCalculatedTransformA () const |
| Gets the global transform of the offset for body A. More...
|
|
const btTransform & | getCalculatedTransformB () const |
| Gets the global transform of the offset for body B. More...
|
|
const btTransform & | getFrameOffsetA () const |
|
const btTransform & | getFrameOffsetB () const |
|
btTransform & | getFrameOffsetA () |
|
btTransform & | getFrameOffsetB () |
|
virtual void | buildJacobian () |
| performs Jacobian calculation, and also calculates angle differences and axis More...
|
|
virtual void | getInfo1 (btConstraintInfo1 *info) |
| internal method used by the constraint solver, don't use them directly More...
|
|
void | getInfo1NonVirtual (btConstraintInfo1 *info) |
|
virtual void | getInfo2 (btConstraintInfo2 *info) |
| internal method used by the constraint solver, don't use them directly More...
|
|
void | getInfo2NonVirtual (btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btVector3 &linVelA, const btVector3 &linVelB, const btVector3 &angVelA, const btVector3 &angVelB) |
|
void | updateRHS (btScalar timeStep) |
|
btVector3 | getAxis (int axis_index) const |
| Get the rotation axis in global coordinates. More...
|
|
btScalar | getAngle (int axis_index) const |
| Get the relative Euler angle. More...
|
|
btScalar | getRelativePivotPosition (int axis_index) const |
| Get the relative position of the constraint pivot. More...
|
|
void | setFrames (const btTransform &frameA, const btTransform &frameB) |
|
bool | testAngularLimitMotor (int axis_index) |
| Test angular limit. More...
|
|
void | setLinearLowerLimit (const btVector3 &linearLower) |
|
void | getLinearLowerLimit (btVector3 &linearLower) |
|
void | setLinearUpperLimit (const btVector3 &linearUpper) |
|
void | getLinearUpperLimit (btVector3 &linearUpper) |
|
void | setAngularLowerLimit (const btVector3 &angularLower) |
|
void | getAngularLowerLimit (btVector3 &angularLower) |
|
void | setAngularUpperLimit (const btVector3 &angularUpper) |
|
void | getAngularUpperLimit (btVector3 &angularUpper) |
|
btRotationalLimitMotor * | getRotationalLimitMotor (int index) |
| Retrieves the angular limit informacion. More...
|
|
btTranslationalLimitMotor * | getTranslationalLimitMotor () |
| Retrieves the limit informacion. More...
|
|
void | setLimit (int axis, btScalar lo, btScalar hi) |
|
bool | isLimited (int limitIndex) |
| Test limit. More...
|
|
virtual void | calcAnchorPos (void) |
|
int | get_limit_motor_info2 (btRotationalLimitMotor *limot, const btTransform &transA, const btTransform &transB, const btVector3 &linVelA, const btVector3 &linVelB, const btVector3 &angVelA, const btVector3 &angVelB, btConstraintInfo2 *info, int row, btVector3 &ax1, int rotational, int rotAllowed=false) |
|
bool | getUseFrameOffset () |
|
void | setUseFrameOffset (bool frameOffsetOnOff) |
|
virtual void | setParam (int num, btScalar value, int axis=-1) |
| override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5). More...
|
|
virtual btScalar | getParam (int num, int axis=-1) const |
| return the local value of parameter More...
|
|
void | setAxis (const btVector3 &axis1, const btVector3 &axis2) |
|
virtual int | calculateSerializeBufferSize () const |
|
virtual const char * | serialize (void *dataBuffer, btSerializer *serializer) const |
| fills the dataBuffer and returns the struct name (and 0 on failure) More...
|
|
| BT_DECLARE_ALIGNED_ALLOCATOR () |
|
virtual | ~btTypedConstraint () |
|
| btTypedConstraint (btTypedConstraintType type, btRigidBody &rbA) |
|
| btTypedConstraint (btTypedConstraintType type, btRigidBody &rbA, btRigidBody &rbB) |
|
int | getOverrideNumSolverIterations () const |
|
void | setOverrideNumSolverIterations (int overideNumIterations) |
| override the number of constraint solver iterations used to solve this constraint -1 will use the default number of iterations, as specified in SolverInfo.m_numIterations More...
|
|
virtual void | setupSolverConstraint (btConstraintArray &ca, int solverBodyA, int solverBodyB, btScalar timeStep) |
| internal method used by the constraint solver, don't use them directly More...
|
|
void | internalSetAppliedImpulse (btScalar appliedImpulse) |
| internal method used by the constraint solver, don't use them directly More...
|
|
btScalar | internalGetAppliedImpulse () |
| internal method used by the constraint solver, don't use them directly More...
|
|
btScalar | getBreakingImpulseThreshold () const |
|
void | setBreakingImpulseThreshold (btScalar threshold) |
|
bool | isEnabled () const |
|
void | setEnabled (bool enabled) |
|
virtual void | solveConstraintObsolete (btSolverBody &, btSolverBody &, btScalar) |
| internal method used by the constraint solver, don't use them directly More...
|
|
const btRigidBody & | getRigidBodyA () const |
|
const btRigidBody & | getRigidBodyB () const |
|
btRigidBody & | getRigidBodyA () |
|
btRigidBody & | getRigidBodyB () |
|
int | getUserConstraintType () const |
|
void | setUserConstraintType (int userConstraintType) |
|
void | setUserConstraintId (int uid) |
|
int | getUserConstraintId () const |
|
void | setUserConstraintPtr (void *ptr) |
|
void * | getUserConstraintPtr () |
|
void | setJointFeedback (btJointFeedback *jointFeedback) |
|
const btJointFeedback * | getJointFeedback () const |
|
btJointFeedback * | getJointFeedback () |
|
int | getUid () const |
|
bool | needsFeedback () const |
|
void | enableFeedback (bool needsFeedback) |
| enableFeedback will allow to read the applied linear and angular impulse use getAppliedImpulse, getAppliedLinearImpulse and getAppliedAngularImpulse to read feedback information More...
|
|
btScalar | getAppliedImpulse () const |
| getAppliedImpulse is an estimated total applied impulse. More...
|
|
btTypedConstraintType | getConstraintType () const |
|
void | setDbgDrawSize (btScalar dbgDrawSize) |
|
btScalar | getDbgDrawSize () |
|
| btTypedObject (int objectType) |
|
int | getObjectType () const |
|
Constraint similar to ODE Universal Joint has 2 rotatioonal degrees of freedom, similar to Euler rotations around Z (axis 1) and Y (axis 2) Description from ODE manual : "Given axis 1 on body 1, and axis 2 on body 2 that is perpendicular to axis 1, it keeps them perpendicular.
In other words, rotation of the two bodies about the direction perpendicular to the two axes will be equal."
Definition at line 34 of file btUniversalConstraint.h.