本文整理汇总了C++中OBB::SetPivot方法的典型用法代码示例。如果您正苦于以下问题:C++ OBB::SetPivot方法的具体用法?C++ OBB::SetPivot怎么用?C++ OBB::SetPivot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OBB
的用法示例。
在下文中一共展示了OBB::SetPivot方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateBoneBox
OBB* RagDoll::CreateBoneBox(Bone* parent, Bone *bone, D3DXVECTOR3 size, D3DXQUATERNION rot) {
if (bone == NULL || parent == NULL)
return NULL;
D3DXMATRIX &parentMat = parent->CombinedTransformationMatrix;
D3DXMATRIX &boneMat = bone->CombinedTransformationMatrix;
D3DXVECTOR3 parentPos(parentMat(3, 0), parentMat(3, 1), parentMat(3, 2));
D3DXVECTOR3 bonePos(boneMat(3, 0), boneMat(3, 1), boneMat(3, 2));
D3DXQUATERNION q;
D3DXVECTOR3 p, s;
D3DXMatrixDecompose(&s, &q, &p, &parentMat);
q *= rot;
D3DXQuaternionNormalize(&q, &q);
p = (parentPos + bonePos) * 0.5f;
OBB *obb = new OBB(p, size, q, true);
physicsEngine.GetWorld()->addRigidBody(obb->m_pBody);
m_boxes.push_back(obb);
parent->m_pObb = obb;
parent->m_pivot = obb->SetPivot(parentPos);
return obb;
}