Go to the documentation of this file. 1 #ifndef CNOID_BODY_CUSTOM_JOINT_PATH_BASE_H
2 #define CNOID_BODY_CUSTOM_JOINT_PATH_BASE_H
6 #include "exportdecl.h"
19 typedef std::function<bool(
const Isometry3& T_global,
const Isometry3& T_relative)> InverseKinematicsFunc;
20 InverseKinematicsFunc calcCustomInverseKinematics;
26 bool checkLinkPath(
const std::string& from,
const std::string& to,
bool& out_isReversed)
const;
28 void setCustomInverseKinematics(InverseKinematicsFunc func,
bool isReversed =
false);
32 virtual bool calcInverseKinematics(
const Isometry3& T)
override;
33 virtual bool hasCustomIK()
const override;
37 for(
auto& joint : joints()){
38 joint->q() = *q_iter++;
41 for(
auto j_iter = joints().rbegin(); j_iter != joints().rend(); ++j_iter){
42 (*j_iter)->q() = *q_iter++;
LinkTraverse::iterator iterator
Definition: JointPath.h:72
Definition: JointPath.h:23
Eigen::Isometry3d Isometry3
Definition: EigenTypes.h:73
void copyJointDisplacements(iterator q_iter)
Definition: CustomJointPathBase.h:35
The header file of the JointPath class.
InverseKinematicsFunc customInverseKinematics() const
Definition: CustomJointPathBase.h:29
Definition: AbstractSceneLoader.h:11
Definition: CustomJointPathBase.h:17
bool isReversed() const
Definition: CustomJointPathBase.h:30