Go to the documentation of this file.
28 nrOfJoints(0), nrOfSegments(0), root_name(_root_name)
63 #ifdef KDL_USE_NEW_TREE_INTERFACE
65 #else //#ifdef KDL_USE_NEW_TREE_INTERFACE
67 #endif //#ifdef KDL_USE_NEW_TREE_INTERFACE
99 SegmentMap::const_iterator child;
127 if (parents_chain_root.
empty() || parents_chain_root.
back() !=
root_name)
return false;
135 SegmentMap::key_type last_segment =
root_name;
136 while (!parents_chain_root.
empty() && !parents_chain_tip.
empty() &&
137 parents_chain_root.
back() == parents_chain_tip.
back()){
138 last_segment = parents_chain_root.
back();
142 parents_chain_root.
push_back(last_segment);
146 for (
unsigned int s=0; s<parents_chain_root.
size()-1; s++){
159 for (
auto rit=parents_chain_tip.
rbegin(); rit != parents_chain_tip.
rend(); ++rit){
168 SegmentMap::const_iterator root =
segments.
find(segment_name);
172 tree =
Tree(root->first);
Tree(const std::string &root_name="root")
Frame Inverse() const
Gives back inverse transformation of a Frame.
SegmentMap::const_iterator getRootSegment() const
bool addTreeRecursive(SegmentMap::const_iterator root, const std::string &hook_name)
const Joint & getJoint() const
Vector JointOrigin() const
#define GetTreeElementParent(tree_element)
#define GetTreeElementChildren(tree_element)
const std::string & getName() const
unsigned int getNrOfSegments() const
bool addChain(const Chain &chain, const std::string &hook_name)
const Segment & getSegment(unsigned int nr) const
Frame pose(const double &q) const
represents a frame transformation in 3D space (rotation + translation)
bool getSubTree(const std::string &segment_name, Tree &tree) const
This class encapsulates a tree kinematic interconnection structure. It is built out of segments.
This class encapsulates a simple segment, that is a "rigid body" (i.e., a frame and a rigid body ine...
bool addSegment(const Segment &segment, const std::string &hook_name)
void addSegment(const Segment &segment)
bool addTree(const Tree &tree, const std::string &hook_name)
Rotation M
Orientation of the Frame.
const std::string & getName() const
bool getChain(const std::string &chain_root, const std::string &chain_tip, Chain &chain) const
const JointType & getType() const
#define GetTreeElementSegment(tree_element)
This class encapsulates a simple joint, that is with one parameterized degree of freedom and with sca...
unsigned int nrOfSegments
static TreeElementType Root(const std::string &root_name)
This class encapsulates a serial kinematic interconnection structure. It is built out of segments.
SegmentMap::const_iterator getSegment(const std::string &segment_name) const
Tree & operator=(const Tree &arg)