本文整理汇总了C++中GLC_Matrix4x4::scalingZ方法的典型用法代码示例。如果您正苦于以下问题:C++ GLC_Matrix4x4::scalingZ方法的具体用法?C++ GLC_Matrix4x4::scalingZ怎么用?C++ GLC_Matrix4x4::scalingZ使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLC_Matrix4x4
的用法示例。
在下文中一共展示了GLC_Matrix4x4::scalingZ方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: isoMatrix
void GLC_WorldTo3ds::setNodePosition(Lib3dsNode* pNode, const GLC_Matrix4x4& matrix)
{
Lib3dsObjectData *pObjectData= &pNode->data.object;
GLC_Matrix4x4 isoMatrix(matrix.isometricMatrix());
// Translation
Lib3dsLin3Key* pLin3Key= lib3ds_lin3_key_new();
pLin3Key->value[0]= isoMatrix.getData()[12];
pLin3Key->value[1]= isoMatrix.getData()[13];
pLin3Key->value[2]= isoMatrix.getData()[14];
pLin3Key->tcb.frame= 1;
pObjectData->pos_track.keyL= pLin3Key;
// Scaling
Lib3dsLin3Key* pScale3Key= lib3ds_lin3_key_new();
pScale3Key->value[0]= static_cast<float>(matrix.scalingX());
pScale3Key->value[1]= static_cast<float>(matrix.scalingY());
pScale3Key->value[2]= static_cast<float>(matrix.scalingZ());
pScale3Key->tcb.frame= 1;
pObjectData->scl_track.keyL= pScale3Key;
// Rotation
Lib3dsQuatKey* pQuatKey= lib3ds_quat_key_new();
QQuaternion quaternion= matrix.quaternion();
QPair<GLC_Vector3d, double> pair= matrix.rotationVectorAndAngle();
pQuatKey->angle= static_cast<float>(pair.second);
pQuatKey->axis[0]= static_cast<float>(pair.first.x());
pQuatKey->axis[1]= static_cast<float>(pair.first.y());
pQuatKey->axis[2]= static_cast<float>(pair.first.z());
pQuatKey->tcb.frame= 1;
pObjectData->rot_track.keyL= pQuatKey;
}