Blender V2.61 - r43446
|
Utils related to temporal transforms. More...
#include <btTransformUtil.h>
Static Public Member Functions | |
static void | integrateTransform (const btTransform &curTrans, const btVector3 &linvel, const btVector3 &angvel, btScalar timeStep, btTransform &predictedTransform) |
static void | calculateVelocityQuaternion (const btVector3 &pos0, const btVector3 &pos1, const btQuaternion &orn0, const btQuaternion &orn1, btScalar timeStep, btVector3 &linVel, btVector3 &angVel) |
static void | calculateDiffAxisAngleQuaternion (const btQuaternion &orn0, const btQuaternion &orn1a, btVector3 &axis, btScalar &angle) |
static void | calculateVelocity (const btTransform &transform0, const btTransform &transform1, btScalar timeStep, btVector3 &linVel, btVector3 &angVel) |
static void | calculateDiffAxisAngle (const btTransform &transform0, const btTransform &transform1, btVector3 &axis, btScalar &angle) |
Utils related to temporal transforms.
Definition at line 38 of file btTransformUtil.h.
static void btTransformUtil::calculateDiffAxisAngle | ( | const btTransform & | transform0, |
const btTransform & | transform1, | ||
btVector3 & | axis, | ||
btScalar & | angle | ||
) | [inline, static] |
floating point inaccuracy can lead to w component > 1..., which breaks
Definition at line 121 of file btTransformUtil.h.
References btSqrt(), btQuaternion::getAngle(), btTransform::getBasis(), btMatrix3x3::getRotation(), btMatrix3x3::inverse(), len(), btQuaternion::normalize(), and SIMD_EPSILON.
Referenced by calculateVelocity().
static void btTransformUtil::calculateDiffAxisAngleQuaternion | ( | const btQuaternion & | orn0, |
const btQuaternion & | orn1a, | ||
btVector3 & | axis, | ||
btScalar & | angle | ||
) | [inline, static] |
Definition at line 97 of file btTransformUtil.h.
References btSqrt(), btQuaternion::getAngle(), btQuaternion::inverse(), len(), btQuaternion::nearest(), and SIMD_EPSILON.
Referenced by calculateVelocityQuaternion().
static void btTransformUtil::calculateVelocity | ( | const btTransform & | transform0, |
const btTransform & | transform1, | ||
btScalar | timeStep, | ||
btVector3 & | linVel, | ||
btVector3 & | angVel | ||
) | [inline, static] |
Definition at line 112 of file btTransformUtil.h.
References angle(), calculateDiffAxisAngle(), and btTransform::getOrigin().
Referenced by btContinuousConvexCollision::calcTimeOfImpact(), btCollisionWorld::convexSweepTest(), btRigidBody::saveKinematicState(), and btConeTwistConstraint::solveConstraintObsolete().
static void btTransformUtil::calculateVelocityQuaternion | ( | const btVector3 & | pos0, |
const btVector3 & | pos1, | ||
const btQuaternion & | orn0, | ||
const btQuaternion & | orn1, | ||
btScalar | timeStep, | ||
btVector3 & | linVel, | ||
btVector3 & | angVel | ||
) | [inline, static] |
Definition at line 82 of file btTransformUtil.h.
References angle(), and calculateDiffAxisAngleQuaternion().
Referenced by btConvexSeparatingDistanceUtil::updateSeparatingDistance().
static void btTransformUtil::integrateTransform | ( | const btTransform & | curTrans, |
const btVector3 & | linvel, | ||
const btVector3 & | angvel, | ||
btScalar | timeStep, | ||
btTransform & | predictedTransform | ||
) | [inline, static] |
Definition at line 43 of file btTransformUtil.h.
References ANGULAR_MOTION_THRESHOLD, btCos(), btSin(), fAngle, btTransform::getOrigin(), btTransform::getRotation(), btQuaternion::normalize(), btTransform::setOrigin(), and btTransform::setRotation().
Referenced by ATTRIBUTE_ALIGNED64(), btContinuousConvexCollision::calcTimeOfImpact(), btRigidBody::internalWritebackVelocity(), btRigidBody::predictIntegratedTransform(), btConeTwistConstraint::solveConstraintObsolete(), and btDiscreteDynamicsWorld::synchronizeSingleMotionState().