本文整理汇总了C++中btQuaternion::getAxis方法的典型用法代码示例。如果您正苦于以下问题:C++ btQuaternion::getAxis方法的具体用法?C++ btQuaternion::getAxis怎么用?C++ btQuaternion::getAxis使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类btQuaternion
的用法示例。
在下文中一共展示了btQuaternion::getAxis方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetTransform
void BulletDynamicsBody::GetTransform( Vector3& position, Quaternion& rotation )
{
// get updated parameters
const btTransform& transform( GetBody()->getWorldTransform() );
const btVector3& origin( transform.getOrigin() );
const btQuaternion currentRotation( transform.getRotation() );
const btVector3& axis( currentRotation.getAxis() );
const btScalar& angle( currentRotation.getAngle() );
position = Vector3( origin.x(), origin.y(), origin.z() );
rotation = Quaternion( float(angle), Vector3( axis.x(), axis.y(), axis.z() ) );
}
示例2: setWorldTransform
void DynamicsMotionState::setWorldTransform(const btTransform& transform)
{
// DALI_LOG_INFO(Debug::Filter::gDynamics, Debug::Verbose, "%s\n", __PRETTY_FUNCTION__);
// get updated parameters
const btVector3& origin( transform.getOrigin() );
const btQuaternion rotation( transform.getRotation() );
const btVector3& axis( rotation.getAxis() );
const btScalar& angle( rotation.getAngle() );
Vector3 newPosition( origin.x(), origin.y(), origin.z() );
const Vector3 newAxis( axis.x(), axis.y(), axis.z() );
Quaternion newRotation( float(angle), newAxis );
// set the nodes updated params
mDynamicsBody.SetNodePositionAndRotation( newPosition, newRotation );
}
示例3: rotate
void MatrixStack::rotate(btQuaternion rot) {
btVector3 *axis = &rot.getAxis();
Matrix4 rot_matrix;
rot_matrix.rotate(RADTODEG(rot.getAngle()), axis->x(), axis->y(), axis->z());
m_currentMatrix = m_currentMatrix * rot_matrix;
}