void Node::mat2components(const Eigen::Matrix4f& t, double& roll, double& pitch, double& yaw, double& dist){ mat2RPY(t, roll,pitch,yaw); mat2dist(t, dist); roll = roll/M_PI*180; pitch = pitch/M_PI*180; yaw = yaw/M_PI*180; }
// true iff edge qualifies for generating a new vertex bool GraphManager::isBigTrafo(const Eigen::Matrix4f& t) { double roll, pitch, yaw, dist; mat2RPY(t, roll,pitch,yaw); mat2dist(t, dist); roll = roll/M_PI*180; pitch = pitch/M_PI*180; yaw = yaw/M_PI*180; double max_angle = max(roll,max(pitch,yaw)); // at least 10cm or 5deg return (dist > 0.1 || max_angle > 5); }