7 #ifndef CNOID_BODY_JOINT_PATH_H_INCLUDED
8 #define CNOID_BODY_JOINT_PATH_H_INCLUDED
12 #include <cnoid/EigenTypes>
13 #include <boost/shared_ptr.hpp>
31 return joints.empty();
43 return linkPath.baseLink();
47 return linkPath.endLink();
51 return (index >= numUpwardJointConnections);
55 linkPath.calcForwardKinematics(calcVelocity, calcAcceleration);
58 void calcJacobian(Eigen::MatrixXd& out_J)
const;
60 void setMaxIKerror(
double e);
61 void setBestEffortIKMode(
bool on);
64 virtual bool calcInverseKinematics(
const Vector3& end_p,
const Matrix3& end_R);
65 virtual bool hasAnalyticalIK()
const;
67 bool calcInverseKinematics(
72 virtual void onJointPathUpdated();
83 std::vector<Link*> joints;
84 int numUpwardJointConnections;
int numJoints() const
Definition: JointPath.h:34
boost::shared_ptr< JointPath > JointPathPtr
Definition: Body.h:25
Definition: InverseKinematics.h:13
Link * joint(int index) const
Definition: JointPath.h:38
void calcForwardKinematics(bool calcVelocity=false, bool calcAcceleration=false) const
Definition: JointPath.h:54
Link * baseLink() const
Definition: JointPath.h:42
bool empty() const
Definition: JointPath.h:30
Link * endLink() const
Definition: JointPath.h:46
double maxIKerrorSqr
Definition: JointPath.h:74
Definition: JointPath.h:18
Definition: LinkPath.h:14
bool isJointDownward(int index) const
Definition: JointPath.h:50
bool isBestEffortIKMode
Definition: JointPath.h:75
Definition: EasyScanner.h:16
Eigen::Vector3d Vector3
Definition: EigenTypes.h:26
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
Eigen::Matrix3d Matrix3
Definition: EigenTypes.h:25