Example #1
0
inline Pose Pose::operator*(const Pose& other) const
{
	// Convention: Pose * PoseOther
	//              x' = (Pose * PoseOther).map(x)
	//              x' = Pose.map(PoseOther.map(x))
	//              x' = R * (Rother * x + Tother) + T
	//              x' = R * Rother * x + (R * Tother + T)

	Quaterniond orientation = (m_orientation * other.orientation());
	Vector3d position = m_orientation * other.position() + m_position;

	return Pose(orientation, position);
}
Example #2
0
double get_heading(const Pose &p) { return p.orientation(); }