Blender
V3.3
|
Rotation Limit structure for generic joints. More...
#include <btGeneric6DofConstraint.h>
Public Member Functions | |
btRotationalLimitMotor () | |
btRotationalLimitMotor (const btRotationalLimitMotor &limot) | |
bool | isLimited () const |
Is limited. More... | |
bool | needApplyTorques () const |
Need apply correction. More... | |
int | testLimitValue (btScalar test_value) |
calculates error More... | |
btScalar | solveAngularLimits (btScalar timeStep, btVector3 &axis, btScalar jacDiagABInv, btRigidBody *body0, btRigidBody *body1) |
apply the correction impulses for two bodies More... | |
Public Attributes | |
btScalar | m_loLimit |
joint limit More... | |
btScalar | m_hiLimit |
joint limit More... | |
btScalar | m_targetVelocity |
target motor velocity More... | |
btScalar | m_maxMotorForce |
max force on motor More... | |
btScalar | m_maxLimitForce |
max force on limit More... | |
btScalar | m_damping |
Damping. More... | |
btScalar | m_limitSoftness |
btScalar | m_normalCFM |
Relaxation factor. More... | |
btScalar | m_stopERP |
Error tolerance factor when joint is at limit. More... | |
btScalar | m_stopCFM |
Constraint force mixing factor when joint is at limit. More... | |
btScalar | m_bounce |
restitution factor More... | |
bool | m_enableMotor |
btScalar | m_currentLimitError |
btScalar | m_currentPosition |
How much is violated this limit. More... | |
int | m_currentLimit |
current value of angle More... | |
btScalar | m_accumulatedImpulse |
Rotation Limit structure for generic joints.
Definition at line 44 of file btGeneric6DofConstraint.h.
|
inline |
Definition at line 72 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.
|
inline |
Definition at line 91 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.
|
inline |
Is limited.
Definition at line 108 of file btGeneric6DofConstraint.h.
References m_hiLimit, and m_loLimit.
Referenced by isLimited().
|
inline |
Need apply correction.
Definition at line 115 of file btGeneric6DofConstraint.h.
References m_currentLimit, and m_enableMotor.
Referenced by solveAngularLimits(), and testAngularLimitMotor().
btScalar btRotationalLimitMotor::solveAngularLimits | ( | btScalar | timeStep, |
btVector3 & | axis, | ||
btScalar | jacDiagABInv, | ||
btRigidBody * | body0, | ||
btRigidBody * | body1 | ||
) |
apply the correction impulses for two bodies
Definition at line 132 of file btGeneric6DofConstraint.cpp.
References btRigidBody::applyTorqueImpulse(), BT_LARGE_FLOAT, btVector3, btRigidBody::getAngularVelocity(), 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 100 of file btGeneric6DofConstraint.cpp.
References m_currentLimit, m_currentLimitError, m_hiLimit, m_loLimit, SIMD_2_PI, and SIMD_PI.
Referenced by testAngularLimitMotor().
btScalar btRotationalLimitMotor::m_accumulatedImpulse |
Definition at line 69 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), and solveAngularLimits().
btScalar btRotationalLimitMotor::m_bounce |
restitution factor
Definition at line 59 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), setBounce(), setLinearLimits(), and solveAngularLimits().
int btRotationalLimitMotor::m_currentLimit |
current value of angle
0=free, 1=at lo limit, 2=at hi limit
Definition at line 68 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), needApplyTorques(), setLinearLimits(), solveAngularLimits(), and testLimitValue().
btScalar btRotationalLimitMotor::m_currentLimitError |
temp_variables
Definition at line 66 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), setLinearLimits(), solveAngularLimits(), and testLimitValue().
btScalar btRotationalLimitMotor::m_currentPosition |
How much is violated this limit.
Definition at line 67 of file btGeneric6DofConstraint.h.
Referenced by get_limit_motor_info2(), setLinearLimits(), and testAngularLimitMotor().
btScalar btRotationalLimitMotor::m_damping |
Damping.
Definition at line 54 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), setLinearLimits(), and solveAngularLimits().
bool btRotationalLimitMotor::m_enableMotor |
Definition at line 60 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), enableMotor(), get_limit_motor_info2(), needApplyTorques(), and setLinearLimits().
btScalar btRotationalLimitMotor::m_hiLimit |
joint limit
Definition at line 50 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), isLimited(), setLimit(), setLinearLimits(), and testLimitValue().
btScalar btRotationalLimitMotor::m_limitSoftness |
Definition at line 55 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), setLinearLimits(), and solveAngularLimits().
btScalar btRotationalLimitMotor::m_loLimit |
joint limit
limit_parameters
Definition at line 49 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), isLimited(), setLimit(), setLinearLimits(), and testLimitValue().
btScalar btRotationalLimitMotor::m_maxLimitForce |
max force on limit
Definition at line 53 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), setLinearLimits(), and solveAngularLimits().
btScalar btRotationalLimitMotor::m_maxMotorForce |
max force on motor
Definition at line 52 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), internalUpdateSprings(), setLinearLimits(), setMaxMotorForce(), and solveAngularLimits().
btScalar btRotationalLimitMotor::m_normalCFM |
Relaxation factor.
Constraint force mixing factor
Definition at line 56 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), setAngularLimits(), and setLinearLimits().
btScalar btRotationalLimitMotor::m_stopCFM |
Constraint force mixing factor when joint is at limit.
Definition at line 58 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), setAngularLimits(), and setLinearLimits().
btScalar btRotationalLimitMotor::m_stopERP |
Error tolerance factor when joint is at limit.
Definition at line 57 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), setAngularLimits(), setLinearLimits(), and solveAngularLimits().
btScalar btRotationalLimitMotor::m_targetVelocity |
target motor velocity
Definition at line 51 of file btGeneric6DofConstraint.h.
Referenced by btRotationalLimitMotor(), get_limit_motor_info2(), internalUpdateSprings(), setLinearLimits(), setTargetVelocity(), and solveAngularLimits().