Blender  V3.3
Public Member Functions | List of all members
btRotationalLimitMotor Class Reference

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
 

Detailed Description

Rotation Limit structure for generic joints.

Definition at line 44 of file btGeneric6DofConstraint.h.

Constructor & Destructor Documentation

◆ btRotationalLimitMotor() [1/2]

btRotationalLimitMotor::btRotationalLimitMotor ( )
inline

◆ btRotationalLimitMotor() [2/2]

btRotationalLimitMotor::btRotationalLimitMotor ( const btRotationalLimitMotor limot)
inline

Member Function Documentation

◆ isLimited()

bool btRotationalLimitMotor::isLimited ( ) const
inline

Is limited.

Definition at line 108 of file btGeneric6DofConstraint.h.

References m_hiLimit, and m_loLimit.

Referenced by isLimited().

◆ needApplyTorques()

bool btRotationalLimitMotor::needApplyTorques ( ) const
inline

Need apply correction.

Definition at line 115 of file btGeneric6DofConstraint.h.

References m_currentLimit, and m_enableMotor.

Referenced by solveAngularLimits(), and testAngularLimitMotor().

◆ solveAngularLimits()

btScalar btRotationalLimitMotor::solveAngularLimits ( btScalar  timeStep,
btVector3 axis,
btScalar  jacDiagABInv,
btRigidBody body0,
btRigidBody body1 
)

◆ testLimitValue()

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().

Member Data Documentation

◆ m_accumulatedImpulse

btScalar btRotationalLimitMotor::m_accumulatedImpulse

Definition at line 69 of file btGeneric6DofConstraint.h.

Referenced by btRotationalLimitMotor(), and solveAngularLimits().

◆ m_bounce

btScalar btRotationalLimitMotor::m_bounce

◆ m_currentLimit

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().

◆ m_currentLimitError

btScalar btRotationalLimitMotor::m_currentLimitError

◆ m_currentPosition

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().

◆ m_damping

btScalar btRotationalLimitMotor::m_damping

Damping.

Definition at line 54 of file btGeneric6DofConstraint.h.

Referenced by btRotationalLimitMotor(), setLinearLimits(), and solveAngularLimits().

◆ m_enableMotor

bool btRotationalLimitMotor::m_enableMotor

◆ m_hiLimit

btScalar btRotationalLimitMotor::m_hiLimit

◆ m_limitSoftness

btScalar btRotationalLimitMotor::m_limitSoftness

◆ m_loLimit

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().

◆ m_maxLimitForce

btScalar btRotationalLimitMotor::m_maxLimitForce

max force on limit

Definition at line 53 of file btGeneric6DofConstraint.h.

Referenced by btRotationalLimitMotor(), setLinearLimits(), and solveAngularLimits().

◆ m_maxMotorForce

btScalar btRotationalLimitMotor::m_maxMotorForce

◆ m_normalCFM

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().

◆ m_stopCFM

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().

◆ m_stopERP

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().

◆ m_targetVelocity

btScalar btRotationalLimitMotor::m_targetVelocity

The documentation for this class was generated from the following files: