Blender V2.61 - r43446
|
Rotation Limit structure for generic joints. More...
#include <btGeneric6DofConstraint.h>
Public Member Functions | |
btRotationalLimitMotor () | |
btRotationalLimitMotor (const btRotationalLimitMotor &limot) | |
bool | isLimited () |
Is limited. | |
bool | needApplyTorques () |
Need apply correction. | |
int | testLimitValue (btScalar test_value) |
calculates error | |
btScalar | solveAngularLimits (btScalar timeStep, btVector3 &axis, btScalar jacDiagABInv, btRigidBody *body0, btRigidBody *body1) |
apply the correction impulses for two bodies | |
Public Attributes | |
btScalar | m_loLimit |
joint limit | |
btScalar | m_hiLimit |
joint limit | |
btScalar | m_targetVelocity |
target motor velocity | |
btScalar | m_maxMotorForce |
max force on motor | |
btScalar | m_maxLimitForce |
max force on limit | |
btScalar | m_damping |
Damping. | |
btScalar | m_limitSoftness |
joint limit | |
btScalar | m_normalCFM |
Relaxation factor. | |
btScalar | m_stopERP |
Error tolerance factor when joint is at limit. | |
btScalar | m_stopCFM |
Constraint force mixing factor when joint is at limit. | |
btScalar | m_bounce |
restitution factor | |
bool | m_enableMotor |
joint limit | |
btScalar | m_currentLimitError |
btScalar | m_currentPosition |
How much is violated this limit. | |
int | m_currentLimit |
current value of angle | |
btScalar | m_accumulatedImpulse |
Rotation Limit structure for generic joints.
Definition at line 40 of file btGeneric6DofConstraint.h.
btRotationalLimitMotor::btRotationalLimitMotor | ( | ) | [inline] |
Definition at line 68 of file btGeneric6DofConstraint.h.
References m_accumulatedImpulse, m_bounce, m_currentLimit, m_currentLimitError, m_damping, m_enableMotor, m_hiLimit, m_limitSoftness, m_loLimit, m_maxLimitForce, m_maxMotorForce, m_normalCFM, m_stopCFM, m_stopERP, and m_targetVelocity.
btRotationalLimitMotor::btRotationalLimitMotor | ( | const btRotationalLimitMotor & | limot | ) | [inline] |
Definition at line 87 of file btGeneric6DofConstraint.h.
References m_bounce, m_currentLimit, m_currentLimitError, m_enableMotor, m_hiLimit, m_limitSoftness, m_loLimit, m_maxMotorForce, m_normalCFM, m_stopCFM, m_stopERP, and m_targetVelocity.
bool btRotationalLimitMotor::isLimited | ( | ) | [inline] |
Is limited.
Definition at line 106 of file btGeneric6DofConstraint.h.
References m_hiLimit, and m_loLimit.
Referenced by btGeneric6DofConstraint::isLimited().
bool btRotationalLimitMotor::needApplyTorques | ( | ) | [inline] |
Need apply correction.
Definition at line 113 of file btGeneric6DofConstraint.h.
References m_currentLimit, and m_enableMotor.
Referenced by btGeneric6DofConstraint::setAngularLimits(), solveAngularLimits(), and btGeneric6DofConstraint::testAngularLimitMotor().
btScalar btRotationalLimitMotor::solveAngularLimits | ( | btScalar | timeStep, |
btVector3 & | axis, | ||
btScalar | jacDiagABInv, | ||
btRigidBody * | body0, | ||
btRigidBody * | body1 | ||
) |
apply the correction impulses for two bodies
Definition at line 149 of file btGeneric6DofConstraint.cpp.
References BT_LARGE_FLOAT, btRigidBody::getInvInertiaTensorWorld(), btRigidBody::internalApplyImpulse(), btRigidBody::internalGetAngularVelocity(), m_accumulatedImpulse, m_bounce, m_currentLimit, m_currentLimitError, m_damping, m_limitSoftness, m_maxLimitForce, m_maxMotorForce, m_stopERP, m_targetVelocity, needApplyTorques(), SIMD_EPSILON, and sum().
int btRotationalLimitMotor::testLimitValue | ( | btScalar | test_value | ) |
calculates error
calculates m_currentLimit and m_currentLimitError.
Definition at line 122 of file btGeneric6DofConstraint.cpp.
References m_currentLimit, m_currentLimitError, m_hiLimit, and m_loLimit.
Referenced by btGeneric6DofConstraint::testAngularLimitMotor().
temp_variables
Definition at line 65 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::buildJacobian(), and solveAngularLimits().
restitution factor
Definition at line 55 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::get_limit_motor_info2(), btGeneric6DofConstraint::setLinearLimits(), and solveAngularLimits().
current value of angle
0=free, 1=at lo limit, 2=at hi limit
Definition at line 64 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::get_limit_motor_info2(), needApplyTorques(), btGeneric6DofConstraint::setLinearLimits(), solveAngularLimits(), and testLimitValue().
temp_variables
Definition at line 62 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::get_limit_motor_info2(), btGeneric6DofConstraint::setLinearLimits(), solveAngularLimits(), and testLimitValue().
How much is violated this limit.
Definition at line 63 of file btGeneric6DofConstraint.h.
Referenced by btGeneric6DofConstraint::get_limit_motor_info2(), btGeneric6DofConstraint::setLinearLimits(), and btGeneric6DofConstraint::testAngularLimitMotor().
Damping.
Definition at line 50 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::setLinearLimits(), and solveAngularLimits().
joint limit
limit_parameters
Definition at line 56 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofSpringConstraint::enableSpring(), btGeneric6DofConstraint::get_limit_motor_info2(), needApplyTorques(), CcdPhysicsEnvironment::setConstraintParam(), and btGeneric6DofConstraint::setLinearLimits().
joint limit
Definition at line 46 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btDiscreteDynamicsWorld::debugDrawConstraint(), btGeneric6DofConstraint::get_limit_motor_info2(), isLimited(), btGeneric6DofConstraint::setLimit(), btGeneric6DofConstraint::setLinearLimits(), and testLimitValue().
joint limit
limit_parameters
Definition at line 51 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::setLinearLimits(), and solveAngularLimits().
joint limit
limit_parameters
Definition at line 45 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btDiscreteDynamicsWorld::debugDrawConstraint(), btGeneric6DofConstraint::get_limit_motor_info2(), isLimited(), btGeneric6DofConstraint::setLimit(), btGeneric6DofConstraint::setLinearLimits(), and testLimitValue().
max force on limit
Definition at line 49 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::setLinearLimits(), and solveAngularLimits().
max force on motor
Definition at line 48 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::get_limit_motor_info2(), btGeneric6DofSpringConstraint::internalUpdateSprings(), CcdPhysicsEnvironment::setConstraintParam(), btGeneric6DofConstraint::setLinearLimits(), and solveAngularLimits().
Relaxation factor.
Constraint force mixing factor
Definition at line 52 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::get_limit_motor_info2(), btGeneric6DofConstraint::getParam(), btGeneric6DofConstraint::setAngularLimits(), btGeneric6DofConstraint::setLinearLimits(), and btGeneric6DofConstraint::setParam().
Constraint force mixing factor when joint is at limit.
Definition at line 54 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::get_limit_motor_info2(), btGeneric6DofConstraint::getParam(), btGeneric6DofConstraint::setAngularLimits(), btGeneric6DofConstraint::setLinearLimits(), and btGeneric6DofConstraint::setParam().
Error tolerance factor when joint is at limit.
Definition at line 53 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::get_limit_motor_info2(), btGeneric6DofConstraint::getParam(), btGeneric6DofConstraint::setAngularLimits(), btGeneric6DofConstraint::setLinearLimits(), btGeneric6DofConstraint::setParam(), and solveAngularLimits().
target motor velocity
Definition at line 47 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), btGeneric6DofConstraint::get_limit_motor_info2(), btGeneric6DofSpringConstraint::internalUpdateSprings(), CcdPhysicsEnvironment::setConstraintParam(), btGeneric6DofConstraint::setLinearLimits(), and solveAngularLimits().