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


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

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


在下文中一共展示了GLC_Matrix4x4::type方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

QList<Lib3dsMesh*> GLC_WorldTo3ds::createMeshsFrom3DRep(GLC_3DRep* pRep, const QString& name, const GLC_Matrix4x4& matrix)
{
	QList<Lib3dsMesh*> subject;
	int bodyIndex= 0;

	const int bodyCount= pRep->numberOfBody();
	for (int i= 0; i < bodyCount; ++i)
	{
		GLC_Mesh* pCurrentMesh= dynamic_cast<GLC_Mesh*>(pRep->geomAt(i));
		if ((NULL != pCurrentMesh) && !pCurrentMesh->isEmpty())
		{
			bool deleteCurrentMesh= false;
			if (pCurrentMesh->lodCount() > 1)
			{
				// Keep only the first level of detail
				pCurrentMesh= pCurrentMesh->createMeshOfGivenLod(0);
				deleteCurrentMesh= true;
			}
			const QString bodyMeshName= name + '_' + QString::number(bodyIndex++);
			if (matrix.type() != GLC_Matrix4x4::Identity)
			{
				if (!deleteCurrentMesh)
				{
					pCurrentMesh= new GLC_Mesh(*pCurrentMesh);
					deleteCurrentMesh= true;
				}
				pCurrentMesh->transformVertice(matrix);
				Q_ASSERT(!pCurrentMesh->isEmpty());
			}
			Lib3dsMesh* p3dsMesh= create3dsMeshFromGLC_Mesh(pCurrentMesh, bodyMeshName);

			if (deleteCurrentMesh) delete pCurrentMesh;
			subject.append(p3dsMesh);
		}
	}

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


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