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


C++ vector::transformar方法代码示例

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


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

示例1: datosPiramide

void datosPiramide(std::vector<Object>::iterator it)
{
	using namespace ImGui;
	Text("Longitud de cada lado de la base: ");
	SameLine();
	Text(std::to_string(magnitud(glm::vec3(it->vertices[0],it->vertices[1],it->vertices[2]), glm::vec3(it->vertices[6], it->vertices[7], it->vertices[8]))).c_str());
	cont = 0;
	for (int i = 0; i < it->vertices.size(); i += 6)
	{
		cad = let[cont] + " = (" + std::to_string(it->vertices[i]) + ", " + std::to_string(it->vertices[i + 1]) + ", " + std::to_string(it->vertices[i + 2]) + ")";
		Text(cad.c_str());
		cont++;
	}
	Text("Color:");
	colAux[0] = it->color.x;
	colAux[1] = it->color.y;
	colAux[2] = it->color.z;
	if (ColorEdit3("Color del Objeto", colAux, 1))
	{
		it->color.x = colAux[0];
		it->color.y = colAux[1];
		it->color.z = colAux[2];
		it->editarColor();
	}
	Separator();

	Text("Escalacion en X:");
	SameLine();
	Text(std::to_string(it->ex).c_str());
	Text("Escalacion en Y:");
	SameLine();
	Text(std::to_string(it->ey).c_str());
	Text("Escalacion en Z:");
	SameLine();
	Text(std::to_string(it->ez).c_str());
	if (SliderFloat("Escalacion en X", &it->ex, 0.01f, 10.0f))
		it->update = true;										//si se movio alguno de estos valores, marcar que se debe actualizar
	if (SliderFloat("Escalacion en Y", &it->ey, 0.01f, 10.0f))
		it->update = true;
	if (SliderFloat("Escalacion en Z", &it->ez, 0.01f, 10.0f))
		it->update = true;
	Separator();

	Text("Traslacion en X:");
	SameLine();
	Text(std::to_string(it->tx).c_str());
	Text("Traslacion en Y:");
	SameLine();
	Text(std::to_string(it->ty).c_str());
	Text("Traslacion en Z:");
	SameLine();
	Text(std::to_string(it->tz).c_str());
	if (SliderFloat("Traslacion en X", &it->tx, -50.0f, 50.0f)) //si se movio alguno de estos valores, marcar que se debe actualizar
		it->update = true;
	if (SliderFloat("Traslacion en Y", &it->ty, -50.0f, 50.0f))
		it->update = true;
	if (SliderFloat("Traslacion en Z", &it->tz, -50.0f, 50.0f))
		it->update = true;
	Separator();

	Text("Angulo de Rotacion X: ");
	SameLine();
	Text(std::to_string(it->anguloRotacionX).c_str());
	Text("Angulo de Rotacion Y: ");
	SameLine();
	Text(std::to_string(it->anguloRotacionY).c_str());
	Text("Angulo de Rotacion Z: ");
	SameLine();
	Text(std::to_string(it->anguloRotacionZ).c_str());
	if (SliderAngle("Rotar respecto a X", &it->anguloRotacionX)) //si se movio alguno de estos valores, marcar que se debe actualizar
		it->update = true;
	if (SliderAngle("Rotar respecto a Y", &it->anguloRotacionY))
		it->update = true;
	if (SliderAngle("Rotar respecto a Z", &it->anguloRotacionZ))
		it->update = true;
	if (it->update)
	{	//para evitar desperdicio de recursos, solo recalcular los vertices si hubo un cambio
		it->update = false;
		it->transformar();
	}
	if (Button("Eliminar objeto"))
		it->eliminado = true;
}
开发者ID:FelixGG99,项目名称:Graphica,代码行数:83,代码来源:main.cpp


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