1 #ifndef CNOID_BODY_LINK_KINEMATICS_KIT_H
2 #define CNOID_BODY_LINK_KINEMATICS_KIT_H
4 #include <cnoid/EigenTypes>
5 #include <cnoid/ClonableReferenced>
6 #include <cnoid/Signal>
7 #include <cnoid/GeneralId>
10 #include "exportdecl.h"
17 class JointSpaceConfigurationHandler;
18 class CoordinateFrame;
19 class CoordinateFrameList;
20 class InverseKinematics;
29 void setBaseLink(
Link* baseLink);
30 void setInverseKinematics(std::shared_ptr<InverseKinematics> ik);
35 const Body* body()
const;
37 const Link* link()
const;
39 const Link* baseLink()
const;
40 bool isManipulator()
const;
42 bool hasJointPath()
const;
43 std::shared_ptr<JointPath> jointPath();
44 std::shared_ptr<InverseKinematics> inverseKinematics();
46 std::shared_ptr<JointSpaceConfigurationHandler> configurationHandler();
47 int currentConfigurationType()
const;
48 std::string configurationLabel(
int id)
const;
50 bool isCustomIkAvaiable()
const;
51 bool isCustomIkDisabled()
const;
52 void setCustomIkDisabled(
bool on);
55 void setReferenceRpy(
const Vector3& rpy);
56 void resetReferenceRpy();
64 const GeneralId& currentBaseFrameId()
const;
65 const GeneralId& currentOffsetFrameId()
const;
70 void setCurrentBaseFrame(
const GeneralId&
id);
71 void setCurrentOffsetFrame(
const GeneralId&
id);
88 int configuration = 0 );
90 bool setGlobalEndPosition(
93 int configuration = 0 );
97 void notifyFrameUpdate();
100 void notifyPositionError(
const Isometry3& T_frameCoordinate);
102 bool storeState(
Mapping& archive)
const;
103 bool restoreState(
const Mapping& archive);