Blender
V3.3
|
Go to the source code of this file.
Classes | |
class | btRotationalLimitMotor2 |
class | btTranslationalLimitMotor2 |
struct | btGeneric6DofSpring2ConstraintData |
struct | btGeneric6DofSpring2ConstraintDoubleData2 |
Macros | |
#define | btGeneric6DofSpring2ConstraintData2 btGeneric6DofSpring2ConstraintData |
#define | btGeneric6DofSpring2ConstraintDataName "btGeneric6DofSpring2ConstraintData" |
#define | BT_6DOF_FLAGS_AXIS_SHIFT2 4 |
Enumerations | |
enum | RotateOrder { RO_XYZ = 0 , RO_XZY , RO_YXZ , RO_YZX , RO_ZXY , RO_ZYX } |
enum | bt6DofFlags2 { BT_6DOF_FLAGS_CFM_STOP2 = 1 , BT_6DOF_FLAGS_ERP_STOP2 = 2 , BT_6DOF_FLAGS_CFM_MOTO2 = 4 , BT_6DOF_FLAGS_ERP_MOTO2 = 8 , BT_6DOF_FLAGS_USE_INFINITE_ERROR = (1<<16) } |
#define BT_6DOF_FLAGS_AXIS_SHIFT2 4 |
Definition at line 270 of file btGeneric6DofSpring2Constraint.h.
#define btGeneric6DofSpring2ConstraintData2 btGeneric6DofSpring2ConstraintData |
Definition at line 53 of file btGeneric6DofSpring2Constraint.h.
#define btGeneric6DofSpring2ConstraintDataName "btGeneric6DofSpring2ConstraintData" |
Definition at line 54 of file btGeneric6DofSpring2Constraint.h.
enum bt6DofFlags2 |
Enumerator | |
---|---|
BT_6DOF_FLAGS_CFM_STOP2 | |
BT_6DOF_FLAGS_ERP_STOP2 | |
BT_6DOF_FLAGS_CFM_MOTO2 | |
BT_6DOF_FLAGS_ERP_MOTO2 | |
BT_6DOF_FLAGS_USE_INFINITE_ERROR |
Definition at line 262 of file btGeneric6DofSpring2Constraint.h.
enum RotateOrder |
Enumerator | |
---|---|
RO_XYZ | |
RO_XZY | |
RO_YXZ | |
RO_YZX | |
RO_ZXY | |
RO_ZYX |
Definition at line 57 of file btGeneric6DofSpring2Constraint.h.
BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
btGeneric6DofSpring2Constraint::btGeneric6DofSpring2Constraint | ( | btRigidBody & | rbA, |
btRigidBody & | rbB, | ||
const btTransform & | frameInA, | ||
const btTransform & | frameInB, | ||
RotateOrder | rotOrder = RO_XYZ |
||
) |
2009 March: btGeneric6DofConstraint refactored by Roman Ponomarev Added support for generic constraint solver through getInfo1/getInfo2 methods
Definition at line 46 of file btGeneric6DofSpring2Constraint.cpp.
References calculateTransforms().
Referenced by debugDrawConstraint(), RB_constraint_new_6dof_spring2(), RB_constraint_set_damping_6dof_spring2(), RB_constraint_set_equilibrium_6dof_spring2(), RB_constraint_set_limits_6dof_spring2(), RB_constraint_set_spring_6dof_spring2(), and RB_constraint_set_stiffness_6dof_spring2().
btGeneric6DofSpring2Constraint::btGeneric6DofSpring2Constraint | ( | btRigidBody & | rbB, |
const btTransform & | frameInB, | ||
RotateOrder | rotOrder = RO_XYZ |
||
) |
not providing rigidbody A means implicitly using worldspace for body A
Definition at line 52 of file btGeneric6DofSpring2Constraint.cpp.
References calculateTransforms(), btRigidBody::getCenterOfMassTransform(), m_frameInA, m_frameInB, and rbB.
|
static |
Definition at line 53 of file btGeneric6DofConstraint.cpp.
Referenced by matrixToEulerXYZ(), matrixToEulerXZY(), matrixToEulerYXZ(), matrixToEulerYZX(), matrixToEulerZXY(), and matrixToEulerZYX().
|
virtual |
obsolete methods
performs Jacobian calculation, and also calculates angle differences and axis
we need it for both methods
Definition at line 322 of file btGeneric6DofSpring2Constraint.h.
|
protected |
|
protected |
Definition at line 637 of file btGeneric6DofSpring2Constraint.cpp.
References btVector3, m_calculatedTransformA, m_calculatedTransformB, m_factA, m_factB, m_hasStaticBody, btConstraintInfo2::m_J1angularAxis, btConstraintInfo2::m_J1linearAxis, btConstraintInfo2::m_J2angularAxis, and btConstraintInfo2::m_J2linearAxis.
Referenced by get_limit_motor_info2().
|
protected |
|
virtual |
void calculateTransforms | ( | ) |
void calculateTransforms | ( | const btTransform & | transA, |
const btTransform & | transB | ||
) |
Definition at line 1050 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, m_angularLimits, btRotationalLimitMotor::m_enableMotor, btTranslationalLimitMotor::m_enableMotor, and m_linearLimits.
Definition at line 1130 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, m_angularLimits, and m_linearLimits.
Referenced by btHinge2Constraint().
|
protected |
Definition at line 670 of file btGeneric6DofSpring2Constraint.cpp.
References BT_6DOF_FLAGS_USE_INFINITE_ERROR, BT_ONE, BT_ZERO, btSqrt(), btVector3, calculateJacobi(), btConstraintInfo2::cfm, count, blender::math::dot(), error(), btConstraintInfo2::fps, btRigidBody::getInvInertiaTensorWorld(), btRigidBody::getInvMass(), getMotorFactor(), blender::math::length(), length2(), btRotationalLimitMotor2::m_bounce, m_calculatedTransformA, m_calculatedTransformB, btConstraintInfo2::m_constraintError, btRotationalLimitMotor2::m_currentLimit, btRotationalLimitMotor2::m_currentLimitError, btRotationalLimitMotor2::m_currentLimitErrorHi, btRotationalLimitMotor2::m_currentPosition, btRotationalLimitMotor2::m_enableMotor, btRotationalLimitMotor2::m_enableSpring, btRotationalLimitMotor2::m_equilibriumPoint, m_flags, btRotationalLimitMotor2::m_hiLimit, btRotationalLimitMotor2::m_loLimit, btConstraintInfo2::m_lowerLimit, btRotationalLimitMotor2::m_maxMotorForce, btRotationalLimitMotor2::m_motorCFM, btRotationalLimitMotor2::m_motorERP, m_rbA, m_rbB, btRotationalLimitMotor2::m_servoMotor, btRotationalLimitMotor2::m_servoTarget, btRotationalLimitMotor2::m_springDamping, btRotationalLimitMotor2::m_springDampingLimited, btRotationalLimitMotor2::m_springStiffness, btRotationalLimitMotor2::m_springStiffnessLimited, btRotationalLimitMotor2::m_stopCFM, btRotationalLimitMotor2::m_stopERP, btRotationalLimitMotor2::m_targetVelocity, btConstraintInfo2::m_upperLimit, btConstraintInfo2::rowskip, SIMD_2_PI, SIMD_INFINITY, and SIMD_PI.
btScalar getAngle | ( | int | axis_index | ) | const |
Get the relative Euler angle.
Definition at line 350 of file btGeneric6DofSpring2Constraint.h.
References m_calculatedAxisAngleDiff.
Referenced by getAngle1(), and getAngle2().
Definition at line 374 of file btGeneric6DofSpring2Constraint.h.
References m_angularLimits.
Definition at line 380 of file btGeneric6DofSpring2Constraint.h.
References m_angularLimits.
Definition at line 398 of file btGeneric6DofSpring2Constraint.h.
References m_angularLimits.
Definition at line 404 of file btGeneric6DofSpring2Constraint.h.
References m_angularLimits.
btVector3 getAxis | ( | int | axis_index | ) | const |
Get the rotation axis in global coordinates.
Definition at line 347 of file btGeneric6DofSpring2Constraint.h.
References m_calculatedAxis.
const btTransform& getCalculatedTransformA | ( | ) | const |
Definition at line 336 of file btGeneric6DofSpring2Constraint.h.
References m_calculatedTransformA.
const btTransform& getCalculatedTransformB | ( | ) | const |
Definition at line 338 of file btGeneric6DofSpring2Constraint.h.
References m_calculatedTransformB.
const btTransform& getFrameOffsetA | ( | ) | const |
Definition at line 340 of file btGeneric6DofSpring2Constraint.h.
References m_frameInA.
const btTransform& getFrameOffsetB | ( | ) | const |
Definition at line 341 of file btGeneric6DofSpring2Constraint.h.
References m_frameInB.
|
virtual |
|
virtual |
Definition at line 358 of file btGeneric6DofSpring2Constraint.h.
References m_linearLimits, and btTranslationalLimitMotor2::m_lowerLimit.
Definition at line 360 of file btGeneric6DofSpring2Constraint.h.
References m_linearLimits, and btTranslationalLimitMotor2::m_upperLimit.
|
virtual |
btScalar getRelativePivotPosition | ( | int | axis_index | ) | const |
Get the relative position of the constraint pivot.
Definition at line 353 of file btGeneric6DofSpring2Constraint.h.
References m_calculatedLinearDiff.
btRotationalLimitMotor2* getRotationalLimitMotor | ( | int | index | ) |
Definition at line 328 of file btGeneric6DofSpring2Constraint.h.
References m_angularLimits.
RotateOrder getRotationOrder | ( | ) |
Definition at line 454 of file btGeneric6DofSpring2Constraint.h.
References m_rotateOrder.
btTranslationalLimitMotor2* getTranslationalLimitMotor | ( | ) |
Definition at line 329 of file btGeneric6DofSpring2Constraint.h.
References m_linearLimits.
bool isLimited | ( | int | limitIndex | ) |
Definition at line 444 of file btGeneric6DofSpring2Constraint.h.
References btRotationalLimitMotor2::isLimited(), btTranslationalLimitMotor2::isLimited(), m_angularLimits, and m_linearLimits.
|
static |
MatrixToEulerXYZ from http://www.geometrictools.com/LibFoundation/Mathematics/Wm4Matrix3.inl.html.
Definition at line 62 of file btGeneric6DofConstraint.cpp.
References btAsin(), btAtan2(), btGetMatrixElem(), and SIMD_HALF_PI.
Referenced by calculateAngleInfo(), btMultiBodyFixedConstraint::createConstraintRows(), btMultiBodySliderConstraint::createConstraintRows(), and btMultiBodySphericalJointMotor::createConstraintRows().
|
static |
Definition at line 104 of file btGeneric6DofSpring2Constraint.cpp.
References btAsin(), btAtan2(), btGetMatrixElem(), and SIMD_HALF_PI.
|
static |
Definition at line 137 of file btGeneric6DofSpring2Constraint.cpp.
References btAsin(), btAtan2(), btGetMatrixElem(), and SIMD_HALF_PI.
|
static |
Definition at line 170 of file btGeneric6DofSpring2Constraint.cpp.
References btAsin(), btAtan2(), btGetMatrixElem(), and SIMD_HALF_PI.
|
static |
Definition at line 203 of file btGeneric6DofSpring2Constraint.cpp.
References btAsin(), btAtan2(), btGetMatrixElem(), and SIMD_HALF_PI.
|
static |
Definition at line 236 of file btGeneric6DofSpring2Constraint.cpp.
References btAsin(), btAtan2(), btGetMatrixElem(), and SIMD_HALF_PI.
|
protected |
Definition at line 298 of file btGeneric6DofSpring2Constraint.h.
References btAssert.
|
virtual |
|
protected |
Definition at line 362 of file btGeneric6DofSpring2Constraint.h.
References btNormalizeAngle(), and m_angularLimits.
Definition at line 368 of file btGeneric6DofSpring2Constraint.h.
References btNormalizeAngle(), and m_angularLimits.
Definition at line 386 of file btGeneric6DofSpring2Constraint.h.
References btNormalizeAngle(), and m_angularLimits.
Definition at line 392 of file btGeneric6DofSpring2Constraint.h.
References btNormalizeAngle(), and m_angularLimits.
Definition at line 1041 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, m_angularLimits, btRotationalLimitMotor::m_bounce, and m_linearLimits.
void btGeneric6DofSpringConstraint::setEquilibriumPoint | ( | ) |
Definition at line 1169 of file btGeneric6DofSpring2Constraint.cpp.
References calculateTransforms(), m_angularLimits, m_calculatedAxisAngleDiff, m_calculatedLinearDiff, m_equilibriumPoint, and m_linearLimits.
Referenced by btHinge2Constraint().
void btGeneric6DofSpringConstraint::setEquilibriumPoint | ( | int | index | ) |
Definition at line 1179 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, calculateTransforms(), m_angularLimits, m_calculatedAxisAngleDiff, m_calculatedLinearDiff, and m_linearLimits.
Definition at line 1189 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, m_angularLimits, and m_linearLimits.
void setFrames | ( | const btTransform & | frameA, |
const btTransform & | frameB | ||
) |
Definition at line 264 of file btSliderConstraint.h.
Definition at line 412 of file btGeneric6DofSpring2Constraint.h.
References btNormalizeAngle(), m_angularLimits, btRotationalLimitMotor2::m_hiLimit, m_linearLimits, btRotationalLimitMotor2::m_loLimit, btTranslationalLimitMotor2::m_lowerLimit, and btTranslationalLimitMotor2::m_upperLimit.
Definition at line 428 of file btGeneric6DofSpring2Constraint.h.
References btNormalizeAngle(), m_angularLimits, btRotationalLimitMotor2::m_hiLimit, m_linearLimits, btRotationalLimitMotor2::m_loLimit, btTranslationalLimitMotor2::m_lowerLimit, and btTranslationalLimitMotor2::m_upperLimit.
|
protected |
Definition at line 357 of file btGeneric6DofSpring2Constraint.h.
References m_linearLimits, and btTranslationalLimitMotor2::m_lowerLimit.
Definition at line 359 of file btGeneric6DofSpring2Constraint.h.
References m_linearLimits, and btTranslationalLimitMotor2::m_upperLimit.
Definition at line 1121 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, m_angularLimits, m_linearLimits, btRotationalLimitMotor::m_maxMotorForce, and btTranslationalLimitMotor::m_maxMotorForce.
void setRotationOrder | ( | RotateOrder | order | ) |
Definition at line 453 of file btGeneric6DofSpring2Constraint.h.
References m_rotateOrder, and order.
Definition at line 1059 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, m_angularLimits, and m_linearLimits.
Definition at line 1077 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, blender::math::floor(), m_angularLimits, m_linearLimits, SIMD_2_PI, and SIMD_PI.
void btGeneric6DofSpring2Constraint::setStiffness | ( | int | index, |
btScalar | stiffness, | ||
bool | limitIfNeeded = true |
||
) |
Definition at line 1139 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, m_angularLimits, and m_linearLimits.
Referenced by btHinge2Constraint().
Definition at line 1068 of file btGeneric6DofSpring2Constraint.cpp.
References btAssert, m_angularLimits, m_linearLimits, btRotationalLimitMotor::m_targetVelocity, and btTranslationalLimitMotor::m_targetVelocity.
|
protected |
btGeneric6DofSpring2Constraint __pad0__ |
Definition at line 273 of file btGeneric6DofSpring2Constraint.h.
btRotationalLimitMotor2 m_angularLimits[3] |
Definition at line 283 of file btGeneric6DofSpring2Constraint.h.
Referenced by getAngularLowerLimit(), getAngularLowerLimitReversed(), getAngularUpperLimit(), getAngularUpperLimitReversed(), getRotationalLimitMotor(), isLimited(), setAngularLowerLimit(), setAngularLowerLimitReversed(), setAngularUpperLimit(), setAngularUpperLimitReversed(), setLimit(), and setLimitReversed().
|
protected |
Definition at line 291 of file btGeneric6DofSpring2Constraint.h.
Referenced by getAxis().
|
protected |
Definition at line 290 of file btGeneric6DofSpring2Constraint.h.
Referenced by getAngle().
|
protected |
Definition at line 292 of file btGeneric6DofSpring2Constraint.h.
Referenced by getRelativePivotPosition().
|
protected |
Definition at line 288 of file btGeneric6DofSpring2Constraint.h.
Referenced by getCalculatedTransformA().
|
protected |
Definition at line 289 of file btGeneric6DofSpring2Constraint.h.
Referenced by getCalculatedTransformB().
|
protected |
Definition at line 293 of file btGeneric6DofSpring2Constraint.h.
|
protected |
Definition at line 294 of file btGeneric6DofSpring2Constraint.h.
|
protected |
Definition at line 296 of file btGeneric6DofSpring2Constraint.h.
btTransform m_frameInB |
Definition at line 277 of file btGeneric6DofSpring2Constraint.h.
Referenced by getFrameOffsetB().
|
protected |
Definition at line 295 of file btGeneric6DofSpring2Constraint.h.
btJacobianEntry m_jacAng[3] |
Definition at line 280 of file btGeneric6DofSpring2Constraint.h.
btJacobianEntry m_jacLinear[3] |
Definition at line 279 of file btGeneric6DofSpring2Constraint.h.
btTranslationalLimitMotor2 m_linearLimits |
Definition at line 282 of file btGeneric6DofSpring2Constraint.h.
Referenced by getLinearLowerLimit(), getLinearUpperLimit(), getTranslationalLimitMotor(), isLimited(), setLimit(), setLimitReversed(), setLinearLowerLimit(), and setLinearUpperLimit().
RotateOrder m_rotateOrder |
Definition at line 285 of file btGeneric6DofSpring2Constraint.h.
Referenced by getRotationOrder(), and setRotationOrder().