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


C++ GMatrix::GetRow方法代码示例

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


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

示例1: GetMeshes

bool SGMExporter::GetMeshes(std::vector<Scene3DMesh*> &meshes, BinaryWriter *bw)
{
	// get only mesh nodes
	std::vector<IGameNode*> meshNodes;
	for (int i = 0; i < scene ->GetTopLevelNodeCount(); i++)
		FilterMeshNodes(scene ->GetTopLevelNode(i), meshNodes);

	SetProgressSteps((int)meshNodes.size());

	for (int i = 0; i < (int)meshNodes.size(); i++)
	{
		Scene3DMesh *mesh = ConvertMesh(meshNodes[i]);

		if (mesh != NULL)
		{
			GMatrix m = meshNodes[i]->GetWorldTM().Inverse();

			mesh->m_worldInverseMatrix.a[0] = m.GetRow(0).x;
			mesh->m_worldInverseMatrix.a[1] = m.GetRow(0).y;
			mesh->m_worldInverseMatrix.a[2] = m.GetRow(0).z;
			mesh->m_worldInverseMatrix.a[3] = m.GetRow(0).w;

			mesh->m_worldInverseMatrix.a[4] = m.GetRow(1).x;
			mesh->m_worldInverseMatrix.a[5] = m.GetRow(1).y;
			mesh->m_worldInverseMatrix.a[6] = m.GetRow(1).z;
			mesh->m_worldInverseMatrix.a[7] = m.GetRow(1).w;

			mesh->m_worldInverseMatrix.a[8] = m.GetRow(2).x;
			mesh->m_worldInverseMatrix.a[9] = m.GetRow(2).y;
			mesh->m_worldInverseMatrix.a[10] = m.GetRow(2).z;
			mesh->m_worldInverseMatrix.a[11] = m.GetRow(2).w;

			mesh->m_worldInverseMatrix.a[12] = m.GetRow(3).x;
			mesh->m_worldInverseMatrix.a[13] = m.GetRow(3).y;
			mesh->m_worldInverseMatrix.a[14] = m.GetRow(3).z;
			mesh->m_worldInverseMatrix.a[15] = m.GetRow(3).w;

			meshesCount++;
			GeoSaver::SaveMesh(mesh, *bw);
			delete mesh;
		}
			//meshes.push_back(mesh);

		StepProgress();
	}

	scene ->ReleaseIGame();

	return true;
}
开发者ID:asmCode,项目名称:rw2014-exporter,代码行数:50,代码来源:SGMExporter.cpp

示例2: SaveMatrix

void SGMExporter::SaveMatrix(BinaryWriter *bw, const GMatrix &m)
{
	bw->Write(m.GetRow(0).x);
	bw->Write(m.GetRow(0).y);
	bw->Write(m.GetRow(0).z);
	bw->Write(m.GetRow(0).w);

	bw->Write(m.GetRow(1).x);
	bw->Write(m.GetRow(1).y);
	bw->Write(m.GetRow(1).z);
	bw->Write(m.GetRow(1).w);

	bw->Write(m.GetRow(2).x);
	bw->Write(m.GetRow(2).y);
	bw->Write(m.GetRow(2).z);
	bw->Write(m.GetRow(2).w);

	bw->Write(m.GetRow(3).x);
	bw->Write(m.GetRow(3).y);
	bw->Write(m.GetRow(3).z);
	bw->Write(m.GetRow(3).w);
}
开发者ID:asmCode,项目名称:rw2014-exporter,代码行数:22,代码来源:SGMExporter.cpp

示例3: ExportMatrix

void SGMExporter::ExportMatrix(const GMatrix &m, BinaryWriter *fh)
{
	fh ->Write(m.GetRow(0).x);
	fh ->Write(m.GetRow(0).y);
	fh ->Write(m.GetRow(0).z);
	fh ->Write(m.GetRow(0).w);

	fh ->Write(m.GetRow(1).x);
	fh ->Write(m.GetRow(1).y);
	fh ->Write(m.GetRow(1).z);
	fh ->Write(m.GetRow(1).w);

	fh ->Write(m.GetRow(2).x);
	fh ->Write(m.GetRow(2).y);
	fh ->Write(m.GetRow(2).z);
	fh ->Write(m.GetRow(2).w);

	fh ->Write(m.GetRow(3).x);
	fh ->Write(m.GetRow(3).y);
	fh ->Write(m.GetRow(3).z);
	fh ->Write(m.GetRow(3).w);
}
开发者ID:asmCode,项目名称:ssg02,代码行数:22,代码来源:SGMExporter.cpp


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