本文整理汇总了C++中NxQuat::rotate方法的典型用法代码示例。如果您正苦于以下问题:C++ NxQuat::rotate方法的具体用法?C++ NxQuat::rotate怎么用?C++ NxQuat::rotate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NxQuat
的用法示例。
在下文中一共展示了NxQuat::rotate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetDirection
/***********************************************************
get direction vector
***********************************************************/
LbaVec3 LbaQuaternion::GetDirection(const LbaVec3 &vec)
{
NxVec3 dir(vec.x, vec.y, vec.z);
NxQuat current;
current.setXYZW(X, Y, Z, W);
current.rotate(dir);
return LbaVec3(dir.x, dir.y, dir.z);
}
示例2: standUp
void NxVehicle::standUp()
{
NxVec3 pos = getActor()->getGlobalPosition() + NxVec3(0,2,0);
NxQuat rot = getActor()->getGlobalOrientationQuat();
NxVec3 front(1,0,0);
rot.rotate(front);
front.y = 0;
front.normalize();
NxReal dotproduct = front.x;
NxReal angle = NxMath::sign(-front.z) * NxMath::acos(dotproduct);
rot.fromAngleAxis(NxMath::radToDeg(angle), NxVec3(0,1,0));
getActor()->setGlobalPosition(pos);
getActor()->setGlobalOrientationQuat(rot);
getActor()->setLinearVelocity(NxVec3(0,0,0));
getActor()->setAngularVelocity(NxVec3(0,0,0));
}