当前位置: 首页>>代码示例>>C++>>正文


C++ GLC_Matrix4x4::scalingX方法代码示例

本文整理汇总了C++中GLC_Matrix4x4::scalingX方法的典型用法代码示例。如果您正苦于以下问题:C++ GLC_Matrix4x4::scalingX方法的具体用法?C++ GLC_Matrix4x4::scalingX怎么用?C++ GLC_Matrix4x4::scalingX使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GLC_Matrix4x4的用法示例。


在下文中一共展示了GLC_Matrix4x4::scalingX方法的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;

}
开发者ID:gabrielventosa,项目名称:GLC_lib,代码行数:41,代码来源:glc_worldto3ds.cpp


注:本文中的GLC_Matrix4x4::scalingX方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。