7 #ifndef CNOID_BODY_LINK_TRAVERSE_H_INCLUDED
8 #define CNOID_BODY_LINK_TRAVERSE_H_INCLUDED
27 virtual void find(
Link* root,
bool doUpward =
false,
bool doDownward =
true);
37 inline size_t size()
const {
42 return (links.empty() ? 0 : links.front());
49 inline Link* operator[] (
int index)
const {
53 inline std::vector<Link*>::const_iterator
begin()
const {
57 inline std::vector<Link*>::const_iterator
end()
const {
67 return (index >= numUpwardConnections);
70 void calcForwardKinematics(
bool calcVelocity =
false,
bool calcAcceleration =
false)
const;
79 void traverse(
Link* link,
bool doUpward,
bool doDownward,
bool isUpward,
Link* prev);