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


C++ QVec::push_back方法代码示例

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


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

示例1: setJointPosition

/**
 * \brief This method stored the motors's names, the initial position of the motors and the goal
 * position of them. When all is prepared, it raises up the flag READY.
 * @param newAnglesOfMotors an structure with the name of the motors and the value os them.
 */ 
void SpecificWorker::setJointPosition(const MotorAngleList &newAnglesOfMotors)
{
	qDebug()<<"YEAH";
	QMutexLocker ml(mutex);
	if(INITIALIZED == true)
	{
		// 1) SACAMOS VALORES ACTUALES DE LOS MOTORES: (aprovechamos y sacamos motores disponibles)
		QVec firstAngles;
		for(auto motor : newAnglesOfMotors)
		{
			float angle = innerModel->getJoint(QString::fromStdString(motor.name))->getAngle();
			firstAngles.push_back(angle);
			selectedMotors<<QString::fromStdString(motor.name);
		}
		//  2) SACAMOS VALORES FINALES DE LOS MOTORES
		QVec finalAngles;
		for(auto motor : newAnglesOfMotors)
		{
			float angle = motor.angle;
			finalAngles.push_back(angle);
		}
		jointValues.append(firstAngles);
		jointValues.append(finalAngles);
		
		COMPUTE_READY = true;
		
		qDebug()<<"||------------------------------------------------";
		qDebug()<<"|| setJointPosition: jointValues-->"<<jointValues;
		qDebug()<<"||------------------------------------------------";
	}
}
开发者ID:robocomp,项目名称:robocomp-ursus-rockin,代码行数:36,代码来源:specificworker.cpp

示例2: asin

//-----------------------------------------------------------------------------
//			MÉTODO EN PRUEBAS
//-----------------------------------------------------------------------------
// Devuelve los ángulos de rotación sacados de la matriz de rotación en un vector
// de 6 ELEMENTOS: x1, y1, z1, x2, y2, z2 (ángulos y sus opuestos: signos comabiados) En el primer caso
// X, Y, Z, X, Y, Z (ángulos repetidos) segundo caso.
// DOCUMENTACIÓN: http://www.soi.city.ac.uk/~sbbh653/publications/euler.pdf
QVec RMat::QMat::extractAnglesR() const
{
	// Ten en cuenta: matriz transpuesta y con signos cambiados.
	QVec angulos;
	float x, y, z;
	float x1, x2, y1, y2, z1, z2;
	
	if (fabs(operator()(0,2)) > 1 || fabs(operator()(0,2)) < 1)
	{
		// ROTACION EN Y
		y1 = asin(operator()(0,2));
		y2 = M_PI-y1;
		// ROTACION EN X
		x1 = atan2((-operator()(1,2)/cos(y1)), (operator()(2,2)/cos(y1)));
		x2 = atan2((-operator()(1,2)/cos(y2)), (operator()(2,2)/cos(y2)));
		//ROTACION EN Z
		z1 = atan2((-operator()(0,1)/cos(y1)), (operator()(0,0)/cos(y1)));
		z2 = atan2((-operator()(0,1)/cos(y2)), (operator()(0,0)/cos(y2)));
		angulos.push_back(x1);  angulos.push_back(y1);  angulos.push_back(z1); // ir por el camino 1
		angulos.push_back(x2);  angulos.push_back(y2);  angulos.push_back(z2); // ir por el camino 2
	}
	else
	{
		// REVISAR LOS SIGNOS!!!
		z = 0;
		if (operator()(0,2) == 1)//Original if -sin(y)==-1 en el nuestro: if sin(y)==1
		{
			y = M_PI/2;
			x = z + atan2( operator()(1,0), -operator()(2,0));// al final queda atan2(sin x, -(-cosx))-->atan2(sin x, cos x)
		}
		else //si sin(y)==-1 --> y = -pi/2
		{
			y = -M_PI/2;
			x = -z +atan2(-operator()(1,0), operator()(2,0));
		}
		angulos.push_back(x);  angulos.push_back(y);  angulos.push_back(z);
		angulos.push_back(x);  angulos.push_back(y);  angulos.push_back(z); //Repetimos los ángulos, por ser coherentes....
	}
	return angulos;
}
开发者ID:krips89,项目名称:robocomp,代码行数:47,代码来源:qmat.cpp


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