55template <
class Jo
intModelGroup>
56static bool hasSolver(
const JointModelGroup* group)
60 throw std::invalid_argument(
"Group must not be null");
62 return group->getSolverInstance() !=
nullptr;
74template <
class Jo
intModelGroup>
75static const std::string& getSolverTipFrame(
const JointModelGroup* group)
77 if (!hasSolver(group))
79 throw NoSolverException(
"No solver for group " + group->getName());
82 const std::vector<std::string>& tip_frames{ group->getSolverInstance()->getTipFrames() };
83 if (tip_frames.size() > 1)
85 throw MoreThanOneTipFrameException(
"Solver for group \"" + group->getName() +
"\" has more than one tip frame");
87 return tip_frames.front();
#define CREATE_MOVEIT_ERROR_CODE_EXCEPTION(EXCEPTION_CLASS_NAME, ERROR_CODE)